鍍金池/ 問答/人工智能  Python/ 網(wǎng)頁能通過瀏覽器正常打開,但是scrapy shell+網(wǎng)址 打開報錯

網(wǎng)頁能通過瀏覽器正常打開,但是scrapy shell+網(wǎng)址 打開報錯

網(wǎng)頁能通過瀏覽器正常打開,但是scrapy shell+網(wǎng)址 打開報錯
http://www.landchina.com/Desk...
圖片描述

但是scrapy shell后,view response后得到
圖片描述

我也試著加入-s USER_AGENT='Mozilla/5.0' 但是沒效果
請問是怎么回事?

回答
編輯回答
遺莣

關(guān)于scrapy無法下載html內(nèi)容的問題

會不會是scrapy默認開啟了遵守Robots.txt 導(dǎo)致的?嘗試在settings.py中改一下.

在我這是默認打開的, 內(nèi)容是如下:

Obey robots.txt rules
ROBOTSTXT_OBEY = True
我這里測試, 發(fā)現(xiàn) 是否 改變robots為False, 同時 是否 增加用戶代理, 內(nèi)容都可以被成功下載.

關(guān)于xpath的問題

的確存在這個問題, 可能是小幾率的xpath失效的問題 -> (我猜測是這個問題), 因為我嘗試過在瀏覽器中使用我寫的xpath發(fā)現(xiàn)是可以獲取的, 但是scrapy中并不行.

原文章: "在使用chrome等瀏覽器自帶的提取extract xpath路徑的時候, 通?,F(xiàn)在的瀏覽器都會對html文本進行一定的規(guī)范化,
導(dǎo)致明明在瀏覽器中提取正確, 卻在程序中返回錯誤的結(jié)果."

我嘗試過使用相對路徑, 發(fā)現(xiàn)也不行, 我建議你這里使用regex正則表達式來提取.
我寫的正則不是特別簡潔, 但是可以提取表格內(nèi)的所有內(nèi)容, 以列表(二維數(shù)組)形式被存下來.

regex = re.compile(r"([:\u4e00-\u9fa50-9\(\)]+)</td>\s*[<td colspan=\"5\">]*[<td>]*([,\[\]\.0-9\u4e00-\u9fa5]+)</td>")

共找到 8 處匹配:(每處匹配的都是內(nèi)容, 不包含html標簽.)
宗地編號</td>    <td>唐國土豐南告字[2018]2號公告地塊</td>
地塊位置</td>    <td>豐南區(qū)豐南鎮(zhèn)楊貴莊村西</td>
土地用途</td>    <td>其他普通商品住房用地</td>
土地面積(公頃)</td>    <td>0.676247</td>
出讓年限</td>    <td>70年</td>
成交價(萬元)</td>    <td>508</td>
受讓單位</td>    <td colspan="5">北京睿博大正投資有限公司</td>
土地使用條件:</td>    <td colspan="5">該宗地規(guī)劃用途為居住用地,使用年限為住宅70年商業(yè)40年</td>              


2017年7月28日 07:58