Scrapy Post请求无效

时间:2013-06-05 11:29:16

标签: python post xmlhttprequest scrapy

我正在尝试抓取此网站:http://jadopado.com/

首先我想改变货币,所以我尝试了这个:

    yield FormRequest.from_response(response,formdata={'cms_handler_name': 'jpintl%3Aon_setUserPreference',
                                          'country_code': 'AE'},
                                dont_click=True,
                                callback=self.parse_all_categories)

它不起作用,我得到的回应是美元作为货币。 我甚至尝试使用邮递员这样做,但它不起作用 任何帮助?当您从网站的上方栏中更改货币时,您可以检查http请求。

1 个答案:

答案 0 :(得分:4)

如果您只是设置相应的Cookie customer_country_code,如下所示:

from scrapy.http import Request
from scrapy.selector import HtmlXPathSelector
from scrapy.spider import BaseSpider


class ExampleSpider(BaseSpider):
    name = 'example'
    allowed_domains = ['jadopado.com']

    def start_requests(self):
        yield Request(url='http://jadopado.com/', cookies={'customer_country_code': 'AE'})

    def parse(self, response):
        hxs = HtmlXPathSelector(response)

        print hxs.select("//div[@class='country_code']/text()").extract()[0]

打印:

  

AED

因此,货币设定成功。

希望有所帮助。