Webサーバーは、Scrapyを使用してこのFormRequestを送信した後に「500 Internal Server Error」を返します

python scrapy
Webサーバーは、Scrapyを使用してこのFormRequestを送信した後に「500 Internal Server Error」を返します

httpFox(Firefoxアドオン)のコンテンツに従って、次のFormRequestを作成します。 ただし、Webサーバーは常に「500 Internal Server Error」を返します。

誰かがこれを手伝ってくれますか?

元のURLは次のとおりです:http://www.intel.com/jobs/jobsearch/index_ne.htm?Location=200000008

これが私のクモの骨格です。

class IntelSpider(BaseSpider):
    name = "intel.com"
    allowed_domains = ["taleo.net"]

    def start_requests(self):
        req_china = FormRequest("https://intel.taleo.net/careersection/10020/moresearch.ajax",
                                formdata={
                                   'iframemode': '1',
                                   'ftlpageid': 'reqListAdvancedPage',
                                   'ftlinterfaceid': 'advancedSearchFooterInterface',
                                   'ftlcompid': 'SEARCH',
                                     ... # commentsThere are a lots of data here.#
                                   'location1L2': '-1',
                                   'dropListSize': '25',
                                   'dropSortBy': '10'},
                                callback=self.test)

        return [req_china]

def test(self, response):
    print response.body
    return

  1  0


ベストアンサー

あなたの問題は、スクレイプからではなく、インテルのウェブページにあります。 しかし…​ 通常、フォームにはいくつかの非表示フィールドがあります。POSTリクエストを行う最良の方法は次のとおりです。

def start_requests(self,response):
        req_china = FormRequest.from_response(response=response,
                                formdata={
                                   'iframemode': '1',
                                   'ftlpageid': 'reqListAdvancedPage',
                                   'ftlinterfaceid': 'advancedSearchFooterInterface',
                                   'ftlcompid': 'SEARCH',
                                     ... # commentsThere are a lots of data here.#
                                   'location1L2': '-1',
                                   'dropListSize': '25',
                                   'dropSortBy': '10'},
                                callback=self.test)

2


タイトルとURLをコピーしました