爬虫scrapy框架(7)——post请求

1920664-e6ab07ac726900dc.jpg
t013b9c86f5a43c0037.jpg
  1. 首先我们创建一个项目,新建一个文件夹,按住shift,鼠标右键在此处打开命令窗口,输入scrapy startproject youdaosipder。
  2. 创建完成后,输入scrapy genspider ydspider youdao.com 如果没有出现相应爬虫文件,在这样的文件夹内再次打开命令窗口输入刚才的命令。
    1920664-2df6557cb87367ef.png
    image.png

    ydspider.py

# -*- coding: utf-8 -*-
import scrapy


#http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule
class YdspiderSpider(scrapy.Spider):
    name = 'ydspider'
    allowed_domains = ['fanyi.youdao.com']
    # start_urls = ['http://youdao.com/']

    def start_requests(self):
        url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
        #向队列中加入post请求
        yield scrapy.FormRequest(
            url=url,
            formdata={
                    'i':'男人',
                    'from':'AUTO',
                    'to':'AUTO',
                    'smartresult':'dict',
                    'client':'fanyideskweb',
                    'salt':'15589655028559',
                    'sign':'6781389ab298673f7036bce9cd99815b',
                    'ts':'1558965502855',
                    'bv':'ab57a166e6a56368c9f95952de6192b5',
                    'doctype':'json',
                    'version':'2.1',
                    'keyfrom':'fanyi.web',
                    'action':'FY_BY_REALTlME'
            },
            callback=self.parse
        )

    def parse(self, response):
        print('-----------------------------------------------------------')
        print(response.body)

在settings.py中关掉(注释掉)机器人协议。机器人协议是网站的一些声明,允许用户什么行为,不允许什么行为,建议大家了解一下。


1920664-80442534094190c6.png
image.png

在黑屏终端中输入scrapy crawl ydspider
1920664-226a8b45845364a1.png
image.png

翻译结果为 A man

转载于:https://www.jianshu.com/p/e96e33060ebe

猜你喜欢

转载自blog.csdn.net/weixin_34414196/article/details/91163433
今日推荐