scrapy FormRequest无法请求发帖

时间:2017-10-12 07:47:23

标签: scrapy

我正在尝试获取内容的列表说明。这是一个JavaScript。 他们使用method ='POST'给我这个信息。 当我尝试在html中检查网站时..他们的描述与其中只有一个脚本。当页面加载(onClick)时,我唯一一次在html中看到那些描述内容。但不是在scrapy shell中。

这是我从该页面获取的信息:

    General:
    Request URL:http://map.imobiliare.ro/map/serv/detalii
    Request Method:POST
    Status Code:200 OK
    Remote Address:46.4.85.111:80
    Referrer Policy:no-referrer-when-downgrade

    Response headers:
    Cache-Control:private
    Content-Length:1944
    Content-Type:application/json; charset=utf-8
    Date:Thu, 12 Oct 2017 06:41:48 GMT
    Server:Microsoft-IIS/7.5
    X-AspNet-Version:4.0.30319
    X-AspNetMvc-Version:4.0
    X-Powered-By:ASP.NET

Request Headers:
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:50
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Cookie: ...
...
Referer:http://map.imobiliare.ro/map/home?pagenr=1&tranz=1&categ=4
User-Agent: ...
X-Requested-With:XMLHttpRequest

Form Data:
id_anunt=2754018&tranz=1&categ=4&mc=1&id_cautare=0

我尝试使用FormRequest获取该信息,但它为我提供了500个http状态。

这是我在scrapy shell中使用的代码:

data = {'id_anunt': '2754018', 'tranz': '1', 'categ': '4', 'mc': '1', 'id_cautare': '0'}

head = {'Content-Type': 'application/json; charset=utf-8', 'Accept': 'application/json, text/javascript, */*; q=0.01'}

req = FormRequest(url="http://map.imobiliare.ro/map/serv/detalii", method='POST', formdata=data,
                  headers=head)

fetch(req)

1 个答案:

答案 0 :(得分:0)

我找到了答案....这是获得它的方法。

        data = {'id_anunt': '2754018', 'tranz': '1', 'categ': '4', 'mc': '1', 'id_cautare': '0'}

        req = FormRequest.from_response(response, url="http://map.imobiliare.ro/map/serv/detalii", formdata=data,
                                        callback=self.description_items)

        yield req

你必须输入回复和发布帖子的网址。