2014-10-27 27 views
1

我正在使用Scrapy處理項目。Python Scrapy:與瀏覽器中源代碼不同的響應對象

所有想要的領域,但一個得到完美的刮。缺少字段的內容根本不會顯示在Scrapy響應中(如scrapy shell中所檢查的那樣),而當我使用瀏覽器訪問頁面時,它顯示出來。在scrapy迴應中,預期的標籤在那裏,但不在標籤之間。

沒有涉及JavaScript,但是它是由服務器提供的變量(它是當前訪問該特定頁面的次數)。不涉及iframe。

已經設置用戶代理(在設置文件中)以匹配我的瀏覽器。 已經下載延遲(在設置文件)設置爲5

EDIT(加):

什麼可能是這個謎的原因?

+0

如果你能在瀏覽器中看到它,但它不是在scrapy的反應,也許那次訪問計數器是在iframe? – 2014-10-27 19:57:29

+0

沒有iframe涉及(已更新問題)。 – 2014-10-27 20:15:16

+0

你能提供你正在嘗試刮取的網頁的網址嗎? – Vanddel 2014-10-28 08:29:39

回答

1

這是一個Ajax/JavaScript加載的值。

你採取了哪些步驟來確定不涉及JS?我加載了沒有javascript的頁面,當頁面的那個區域有存根內容(「Visitas」)時,實際的數據是用ajax請求寫入的。

您仍然可以使用scrapy加載該數據,它只會向通常通過頁面ajax訪問的URL端點發出額外請求。服務器通過http://www.fincaraiz.com.co/WebServices/Statistics.asmx/GetAdvertVisits?idAdvert=1337688&idASource=40&idType=1001(嘗試加載該腳本,然後您會看到您在原始電子郵件中提供的頁面的訪問次數)腳本以XML格式返回訪問次數。

還有另一個ajax請求會爲該頁返回「True」,但我不確定數據的實際含義是什麼。不過,這可能是有用的:

http://www.fincaraiz.com.co/WebServices/Statistics.asmx/DetailAdvert?idAdvert=1337688&idType=1001&idASource=40&strCookie=13/11/2014:19-05419&idSession=10hx5wsfbqybyxsywezx0n1r&idOrigin=44

+0

謝謝特拉維斯,很好的回答。我認爲沒有涉及Javascript,因爲內容不在腳本中。但AJAX決定否則。 – 2014-11-13 20:01:08

相關問題