备忘录性质
基础知识
安装和建项目
pip install scrapy
#创建项目
scrapy startproject name
#创建新spider
scrapy genspider mydomain mydomain.com
shell模式
scrapy shell https://www.baidu.com
shelp()
- 打印可用对象及快捷命令的帮助列表fetch(request_or_url)
- 根据给定的请求(request)或URL获取一个新的response,并更新相关的对象view(response)
- 在本机的浏览器打开给定的response。 其会在response的body中添加一个tag ,使得外部链接(例如图片及css)能正确显示。 注意,该操作会在本地创建一个临时文件,且该文件不会被自动删除。
爬虫
分析目标网站
使用chrome的xpath插件,分析网站关键数据点,层级结构,翻页规则,数据来源
使用scrapy shell
工具帮助分析
使用scrapy shell <url>
打开交互式界面,response就是请求之后获取的返回对象,在这个对象上执行response.xpath()
,response.css()
,response.re()
测试数据获取的结果,进行验证。
如果需要代理,可以在命令行执行下面的命令设置代理。
set http_proxy=http://127.0.0.1:1080
set https_proxy=http://127.0.0.1:1080
编写
- 写字段
items.py
- 写存储
pipelines.py
少量数据可以存储到json文件scrapy crawl dmoz -o items.json
- 写爬虫
spider.py
使用scrapy.Request
的callback
参数不断套娃,从首页分类分页找到商品详情页,return item
运行
scrapy crawl name
scrapy runspider name