最近做项目不得不学习爬虫,主要是爬取网页并下载链接里的内容,现在记录一些初步操作。
先附上我主要学习参考的博客:(三篇内容是连续的)
https://www.cnblogs.com/hongdanni/p/10585671.html
https://www.cnblogs.com/hongdanni/p/9449634.html
https://www.cnblogs.com/hongdanni/p/9451868.html
其中用到了Scrapy shell和XPath, 附上一个讲的很清楚的网站:
https://baijiahao.baidu.com/s?id=1606025615078305226&wfr=spider&for=pc
主要步骤如下:
1. scrapy startproject 项目名 # 新建一个爬虫项目
2. scrapy genspider 爬虫名 域名 # 注意爬虫名≠项目名;域名不是具体网址
此时可能需要在settings.py中设置USER_AGENT(在网页中查看:F12 -> 刷新页面 -> Network -> Name中找到网址(一般是第一个) -> Headers中最下方有user-agent信息)
3. scrapy shell 网址 # 进入命令行模式,开始调试
shell中调试:
response.xpath(' ... ') # 待爬取数据的XPath,可通过右键“Copy XPath”得到(可能是full XPath的形式,有时可能需要改)
这里附上一个讲解XPath的博客:https://blog.csdn.net/u013332124/article/details/80621638
4. 编写修改 爬虫名.py、items.py、pipelines.py
5. scrapy crawl 爬虫名
爬虫过程中出现的问题及解决:
1. 爬虫失败 :(1) 爬虫名.py文件中“start_urls”没有修改为具体的网址;(2)几个文件中的”pass”忘记注释
2. 数据保存失败:settings.py文件中没有配置“pipelines”,把“ITEM_PIPELINES”注释取消即可