溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python scrapy.Request怎么發(fā)送請(qǐng)求

發(fā)布時(shí)間:2021-07-19 00:44:30 來(lái)源:億速云 閱讀:143 作者:chen 欄目:編程語(yǔ)言

這篇文章主要講解了“python scrapy.Request怎么發(fā)送請(qǐng)求”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“python scrapy.Request怎么發(fā)送請(qǐng)求”吧!

說(shuō)明

1、使用scrapy.Request()指定method,body參數(shù)發(fā)送post請(qǐng)求。

2、使用scrapy.FormRequest()發(fā)送post請(qǐng)求,也可以發(fā)送表格和ajax請(qǐng)求。

實(shí)例

import scrapy
 
 
class Git2Spider(scrapy.Spider):
    name = 'git2'
    allowed_domains = ['github.com']
    start_urls = ['http://github.com/login']
 
    def parse(self, response):
        username = 'GitLqr'
        password = 'balabala'
 
        # 從登錄頁(yè)面響應(yīng)中解析出post數(shù)據(jù)
        token = response.xpath('//input[@name="authenticity_token"]/@value').extract_first()
 
        post_data = {
            'commit': 'Sign in',
            'authenticity_token': token,
            'login': username,
            'password': password,
            'webauthn-support': 'supported',
        }
        print(post_data)
 
        # 針對(duì)登錄url發(fā)送post請(qǐng)求
        yield scrapy.FormRequest(
            url='https://github.com/session',
            callback=self.after_login,
            formdata=post_data
        )
 
    def after_login(self, response):
        yield scrapy.Request('https://github.com/GitLqr', callback=self.check_login)
 
    def check_login(self, response):
        print(response.xpath('/html/head/title/text()').extract_first())

感謝各位的閱讀,以上就是“python scrapy.Request怎么發(fā)送請(qǐng)求”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)python scrapy.Request怎么發(fā)送請(qǐng)求這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)
AI