1

我正在尝试抓取这个网站: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 请求。

4

1 回答 1

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]

印刷:

自动体外除颤器

因此,货币设置成功。

希望有帮助。

于 2013-06-05T14:07:54.257 回答