爬虫练习-豆瓣读书
昨晚使用不熟悉的xpath语法解析百度新闻页面碰到了好多坑,今天继续通过简单的豆瓣图书进行练习
1.分析页面
进入豆瓣首页https://www.douban.com/
在第一行导航栏找到读书:https://book.douban.com/
进入页面之后发现有很多内容,由于豆瓣没有反爬措施,所以多抓取些数据
大致浏览后发现应该能通过标签查找到全部图书,找到所有热门标签
点击所有热门标签https://book.douban.com/tag/?view=cloud
浏览页面后大致可以确定这个入口是合适的一个入口
2.分析入口页面
打开浏览器自带的开发者模式找到其中一个标签:小说
1 | <td><a href="/tag/小说">小说</a> |
点击小说:https://book.douban.com/tag/小说
发现它的url就是域名https://book.douban.com/
和/tag/小说
的组合
3.分析tag页面
进入小说
页面之后发现一本书大概分为8个关键部分:封面
,书名
,作者
,出版社
,日期
,售价
,评分
,简介
1 | <img class="" src="https://img3.doubanio.com/mpic/s27264181.jpg" width="90"> |
4.开始
首先导入需要的库
1 | from lxml import etree |
这次使用类的方式实现
1 | class DouBanBook(): |
初始化:
1 | def __init__(self): |
获取tag列表
1 | def get_tags(self): |
存储入mysql数据库
1 | def insert_mysql(self,item): |
将八项重要内容写入数据库
1 | def get_book_message(self,tag): |
整个类:
1 | class DouBanBook(): |
开始调用:
由于全部图书有点多,使用线程池加快点速度并记录下耗时
1 | if __name__ == '__main__': |
1 | from multiprocessing import Pool #进程池 |