scrapy post请求——百度翻译(十四)

2023-12-14 11:11:26

scrapy处理 post 请求

爬取百度翻译界面

目录

1.创建项目及爬虫文件

2.发送post请求


1.创建项目及爬虫文件

scrapy startproject scrapy_104

scrapy genspider translate?fanyi.baidu.com

2.发送请求

post请求需要传递参数,所以就不能用start_urls和parse函数了,这里使用start_requests函数给url添加参数。

class TranslateSpider(scrapy.Spider):
    name = 'translate'
    allowed_domains = ['fanyi.baidu.com']
    # start_urls = ['http://fanyi.baidu.com/']

    def start_requests(self):
        url = 'http://fanyi.baidu.com/sug'

        data = {
            'kw':'spider'
        }

        yield scrapy.FormRequest(url=url, formdata=data,callback=self.parse_second)

    def parse_second(self, response):
        content = response.text
        # print(content)  # 存在编码问题
        obj = json.loads(content,encoding='utf-8')
        print(obj)

这样就获取到了

文章来源:https://blog.csdn.net/m0_45447650/article/details/134463124
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。