爬取豆瓣网新书传递信息,数据保存到数据库中。
爬取信息包括书名、评分、作者、出版社、出版时间、图书介绍。豆瓣图书新书速递的网址为
一、实例
首先我们要做的事情,是打开网页,用F12观察结构
发现该该网页没有分页,只有左右两个div盒子,但是按照以前的爬取方法,我们只能爬取一个div,那么这次的解决方法是什么呢?是要分开爬取?还是有其他的解决方法,就接着往下看吧!
这次解析网页是使用的xpath。
1,得到网页 ——get_html
def get_html(url,headers,time=10): #get请求通用函数,去掉了user-agent简化代码
try:
r = requests.get(url, headers=headers,timeout=time) # 发送请求
r.encoding = r.apparent_encoding # 设置返回内容的字符集编码
r.raise_for_status() # 返回的状态码不等于200抛出异常
return r.text # 返回网页的文本内容
except Exception as error:
print(error)
2,解析网页 ——parse_html
bookinfos=[]
def parse_html(html):
doc=etree.HTML(html)
for row in doc.xpath("//div[@id='content']//li"):
bookname=row.xpath("./div/h2/a/text()")[0]
score=row.xpath("./div/p[1]/span[2]/text()")[0].strip()
apt=row.