Scrapy shell 是一个非常实用的爬虫测试工具,在爬虫的道路上调试是最优的选择,类似于IPython,下面来讲一下基本的用法
启动终端
scrapy shell <你想爬取的网址>
当然你可以看一下帮助文档 命令是scrapy shell -h
GET 请求
这个是非常常用的直接输入url即可,示例:
scrapy shell https://www.baidu.com --nolog # --nolog 不打印日志
POST 请求
假如你想进行post请求怎么办呢?
那么我们使用只需和正常的python解释器一样操作即可,示例:
scrapy shell # 计入解释器
formdata = {
"wd": "wkaanig" # json 格式
} # 你想提交的数据
req = scrapy.FormRequest('https://www.baidu.com',formdata=formdata) # 发送request 请求
# 如果想加入请求头这样 -> req = scrapy.FormRequest('https://www.baidu.com',formdata=formdata,headers='你的请求头')
# 如果你没有加 header 是用的scarpy自带的 hearder
fetch(req) # 得到返回的response
response.text # 解析成文本
response.xpath('//p/text()').extract() # xpath 解析出你想要的数据
response.css('#container > div.content_none > div > p > span:nth-child(1)') # 你也可以用css 选择器
# 这里只是说明具体的网址用自己的规则
view(response) # 自动打开浏览器显示得到的html,更直观的截取想要的内容