ScrapyのPOSTリクエストフォームデータ

ハリー

CP番号に16308https //www.icsi.in/Student/Default.aspx TabID = 100として入力した後、scrapypostリクエストを使用して検索結果を取得したいと思います

これが私のスクレイプスパイダーコードです:-

def parse(self, response):
    head=response.xpath('//span[@id="dnn_ctlHeader_dnnBreadcrumb_lblBreadCrumb"]/span[@class="SkinObject"]/text()').extract_first()
    view_gen = response.xpath('//input[@id="__VIEWSTATEGENERATOR"]/@value').extract_first()
    dnn= response.xpath('//input[@id="__dnnVariable"]/@value').extract_first()
    view_state = response.xpath('//input[@id="__VIEWSTATE"]/@value').extract_first()
    view_val = response.xpath('//input[@id="__EVENTVALIDATION"]/@value').extract_first()

    data={
            '__VIEWSTATEGENERATOR':view_gen,
            '__dnnVariable':dnn,
            '__VIEWSTATE':view_state,
            '__EVENTVALIDATION':view_val,
            'dnn$ctr410$MemberSearch$txtCpNumber':'16803',
            'dnn$ctr410$MemberSearch$ddlMemberType':'0'

    }
    yield scrapy.FormRequest(response.url,formdata=data,callback=self.fun)

応答デバッグ:クロール(200)https://www.icsi.in/Student/Default.aspx?tabid=100&error=An%20unexpected%20error%20has%20occurred&content=0>(リファラー:https://www.icsi。 in / Student / Default.aspx?TabID = 100)[]

ルイス・ロドリゲス・ダ・シルバ

応答デバッグ:クロール(200)https://www.icsi.in/Student/Default.aspx?tabid=100&error=An%20unexpected%20error%20has%20occurred&content=0 >(参照元:https://www.icsi。 in / Student / Default.aspx?TabID = 100)[]

あなたの質問は、このエラーが正しく発生しないようにする方法です。将来的にはより具体的にするようにしてください。

Webページをスクレイプする場合は、ブラウザーですべてを検査する必要があります。リクエストとともに送信されるすべてのパラメーターを確認し、スパイダーでも同じことを行っていることを確認してください。コードにはたくさんのパラメーターがありますが、すべてではありません。

実際にあなたの問題を解決する以下の私のコードを見てください:

import scrapy

class MySpider(scrapy.Spider):
    name = 'icsi'

    start_urls = ['https://www.icsi.in/Student/Default.aspx?TabID=100']

    search_action_url = 'https://www.icsi.in/Student/Default.aspx?TabID=100'

    def parse(self, response):
        formdata = dict()
        for input in response.css('form#Form input'):
            name = input.xpath('./@name').get()
            value = input.xpath('./@value').get()
            formdata[name] = str(value) if value else ''
        formdata['dnn$ctr410$MemberSearch$txtCpNumber'] = '16308'
        formdata['__EVENTTARGET'] = 'dnn$ctr410$MemberSearch$btnSearch'

        return scrapy.FormRequest(self.search_action_url, formdata=formdata, callback=self.parse_search)

    def parse_search(self, response):
        scrapy.shell.inspect_response(response, self)
        return

__EVENTTARGET「検索」ボタンを押したことをサイトに通知するパラメータがありませんでした

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

XamarinフォームのPOSTリクエストボディ

分類Dev

JSONフォームデータのリクエストを取得

分類Dev

GETAPIリクエスト-フォームのデータ型

分類Dev

HTMLフォームからDjangoデータベースへのPOSTリクエストの取得

分類Dev

テストでflask_wtfフォームのPOSTリクエストのデータを生成する方法

分類Dev

フォームデータを送信するaxios postリクエスト

分類Dev

Swift3のPOSTリクエストでフォームデータを送信する方法

分類Dev

今年のみ機能するフォームデータを使用したPOSTリクエスト

分類Dev

フォームデータを処理するためのPython3POSTリクエスト

分類Dev

POSTリクエストのdjangoModelFormsと通常のフォーム

分類Dev

Pythonリクエスト:1つのリクエストでJSONとファイル(マルチフォームデータ)をPOST

分類Dev

フォーム外のLaravelDELETEリクエスト-データの取得

分類Dev

ExpressでPOSTリクエストとGETリクエストの両方のフォームデータを取得する

分類Dev

Laravel5フォームリクエストデータの事前操作

分類Dev

ScalaとAkkaHTTP:フォームデータリクエストの処理

分類Dev

ajaxリクエストの不完全なフォームデータ

分類Dev

ajaxリクエストを使用したフォームデータの保存

分類Dev

マルチパートフォームデータを使用した HTTP POST リクエストを使用した Facebook API からのエラー応答

分類Dev

.NET Coreは、ローカルAPIフォームデータのPOSTリクエストをリモートAPIに転送します

分類Dev

node.js、express、bodyフォームからデータを取得する方法-POSTリクエストのデータ

分類Dev

POSTリクエスト本文のJsonデータとフォームデータとして画像を送信することは可能ですか?

分類Dev

HTMLフォーム送信後のPOSTデータは空ですが、リクエストタイプはPOSTです

分類Dev

wso2amマルチパート/フォームデータPOSTリクエストのゲートウェイ転送

分類Dev

vbaを使用して、現在のExcelシートをマルチパートフォームデータとしてPOSTリクエストを送信します

分類Dev

elixirプラグ:POSTリクエストからフォームデータを取得する正しい方法

分類Dev

nodeJs-Unirestを使用したフォームデータによるPOSTリクエスト

分類Dev

POSTリクエストでフォームデータを取得できません

分類Dev

symfonyフォームはデータを送信しません-POSTリクエストは空です

分類Dev

fetch()を使用して本文フォームデータを含むPOSTリクエストを送信しました

Related 関連記事

  1. 1

    XamarinフォームのPOSTリクエストボディ

  2. 2

    JSONフォームデータのリクエストを取得

  3. 3

    GETAPIリクエスト-フォームのデータ型

  4. 4

    HTMLフォームからDjangoデータベースへのPOSTリクエストの取得

  5. 5

    テストでflask_wtfフォームのPOSTリクエストのデータを生成する方法

  6. 6

    フォームデータを送信するaxios postリクエスト

  7. 7

    Swift3のPOSTリクエストでフォームデータを送信する方法

  8. 8

    今年のみ機能するフォームデータを使用したPOSTリクエスト

  9. 9

    フォームデータを処理するためのPython3POSTリクエスト

  10. 10

    POSTリクエストのdjangoModelFormsと通常のフォーム

  11. 11

    Pythonリクエスト:1つのリクエストでJSONとファイル(マルチフォームデータ)をPOST

  12. 12

    フォーム外のLaravelDELETEリクエスト-データの取得

  13. 13

    ExpressでPOSTリクエストとGETリクエストの両方のフォームデータを取得する

  14. 14

    Laravel5フォームリクエストデータの事前操作

  15. 15

    ScalaとAkkaHTTP:フォームデータリクエストの処理

  16. 16

    ajaxリクエストの不完全なフォームデータ

  17. 17

    ajaxリクエストを使用したフォームデータの保存

  18. 18

    マルチパートフォームデータを使用した HTTP POST リクエストを使用した Facebook API からのエラー応答

  19. 19

    .NET Coreは、ローカルAPIフォームデータのPOSTリクエストをリモートAPIに転送します

  20. 20

    node.js、express、bodyフォームからデータを取得する方法-POSTリクエストのデータ

  21. 21

    POSTリクエスト本文のJsonデータとフォームデータとして画像を送信することは可能ですか?

  22. 22

    HTMLフォーム送信後のPOSTデータは空ですが、リクエストタイプはPOSTです

  23. 23

    wso2amマルチパート/フォームデータPOSTリクエストのゲートウェイ転送

  24. 24

    vbaを使用して、現在のExcelシートをマルチパートフォームデータとしてPOSTリクエストを送信します

  25. 25

    elixirプラグ:POSTリクエストからフォームデータを取得する正しい方法

  26. 26

    nodeJs-Unirestを使用したフォームデータによるPOSTリクエスト

  27. 27

    POSTリクエストでフォームデータを取得できません

  28. 28

    symfonyフォームはデータを送信しません-POSTリクエストは空です

  29. 29

    fetch()を使用して本文フォームデータを含むPOSTリクエストを送信しました

ホットタグ

アーカイブ