python实战(一)
一、获取图书数据-
1、可以使用Request模块获取网页源代码。首先Firfox浏览器登陆某图书网, 点击网页空白处,右键选择查看网页源代码,在显示网页源代码的页面中按快捷键【Ctrl+F】,输入畅销图书的关键字进行搜索,如‘山海经’,可以搜索到源代码含有该图书的数据,说明网页不是动态渲染出的,可以通过Requests模块进行数据爬取
然后我们可以通过Requests模块的get()函数获取网页的源代码,代码如下,请注意headers可通过浏览器开发模式中获取,见 下图:
2、运行代码后可获取到网页源代码,然后根据正则表达式在代码中提取需要的数据,如图书的排名,封面链接,书名等数据
图书排名:
1.
,将想获取的排名‘1.’以换成非贪婪匹配“(.*?)” 图书排名正则匹配表达式: p_rank = '
(.*?).
' 以此类推可以分别获取图书排名,图书封面,图书名称,评论,折扣价,原价 代码和结果如下:
import re
p_rank = '<div class="list_num.*?">(.*?).</div>'
p_name = '<div class="name".*?title="(.*?)">.*?</a></div>'
p_picture = '<div class="pic">.*?<img src="(.*?)".*?></a></div>'
p_comments = '<div class="star">.*?target="_blank">(.*?)</a>'
p_price_discount = '<div class="price">.*?<span class="price_n">¥(.*?)</span>'
p_price = '<div class="price">.*?<span class="price_r">¥(.*?)</span>'
rank = re.findall(p_rank, response)
name = re.findall(p_name, response)
picture = re.findall(p_picture, response)
comments