这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战
1.1 题目
熟练掌握 scrapy 中 Item、Pipeline 数据的序列化输出方法;
Scrapy+Xpath+MySQL数据库
存储技术路线爬取当当网站图书数据
候选网站:www.dangdang.com/
1.2 思路
1.2.1 setting.py
- 打开请求头
- 连接数据库信息
ROBOTSTXT_OBEY
设置为False- 打开pipelines
1.2.2 item.py
编写item.py的字段
1 | python复制代码class DangdangItem(scrapy.Item): |
1.2.3 db_Spider.py
- 观察网页,查看分页
第二页
第三页
所以很容易发现这个page_index
就是分页的参数
- 获取节点信息
1 | python复制代码 def parse(self, response): |
- 指定爬取数量
爬取102
条
1.2.4 pipelines.py
- 数据库连接
1 | python复制代码 def __init__(self): |
- 插入数据
1 | python复制代码 def process_item(self, item, spider): |
结果查看,一共102条数据,这个id
我是设置自动自增的,因为有之前测试的数据插入,所以id
并没有从1开始
本文转载自: 掘金