Python 之 Scrapy shell 的 POST 请求

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,更直观的截取想要的内容
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。