2017-10-12 58 views
0

我想獲得一個內容的列表描述。它是一個JavaScript。 他們使用method ='POST'給我這個信息。 當我嘗試檢查HTML中的網站..他們沒有關於它的描述..只有一個腳本。當頁面加載(onClick)那唯一一次我在html中看到這些描述內容。但不是在scrapy shell中。scrapy FormRequest不能請求一個帖子

這是信息,我從該網頁我想申請獲得:

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外殼使用的代碼:

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) 

回答

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 

你必須把響應和帖子的URL也放在。