2010-10-24 23 views
1

Je construis la requête FormRequest suivante en fonction du contenu de httpFox (Firefox addon). Cependant, le serveur Web renvoie toujours "500 Internal Server Error".Le serveur Web renvoie «500 Erreur serveur interne» après l'envoi de cette requête FormRequest à l'aide de Scrapy

Quelqu'un pourrait-il m'aider?

L'URL d'origine est: http://www.intel.com/jobs/jobsearch/index_ne.htm?Location=200000008

Voici le squelette de mon araignée:

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 
+0

Vous commencez un concurrent à Taleo? –

Répondre

2

Votre problème est de la page Web intel, pas de scrapy. mais ... formes ont généralement des champs cachés, la meilleure façon de faire une demande POST est comme ceci:

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)