為什么正確輸入代碼后運行結果是空白呢?
from urllib.request import urlopen
from bs4 import BeautifulSoup as bs
import re
resp = urlopen("https://en.wikipedia.org/wiki/Main_Page").read().decode("utf-8")
soup = bs(resp,"html.parser")
listUrls = soup.findAll("a", herf=re.compile("^/wiki/"))
for url in listUrls:
? ?print(url["herf"])
2016-09-01
最后一行?print(url["herf"])
里面的 herf 改成 href 試試看
2016-09-03
沒有寫錯的情況下,我還沒有遇到過采集空白的問題,如果網站有防爬蟲的機制,一般都是采集了一個錯誤頁面,或者是和你使用瀏覽器看到的樣子不一樣的HTML代碼。
網站是服務器來判斷的,而服務器沒有多么的聰明,能夠區分人和爬蟲,再精密的檢查,也能夠通過程序代碼來破解,所以大部分網站防爬蟲最簡單的手段就是通過驗證碼和驗證問題,就算是百度也是這么做的。
2016-09-03
老師,假如程序沒寫錯的情況下采集結果空白,怎么判斷網站反爬蟲機制起作用了呢?有沒有相關的課程學習下?
2016-09-03
真是打錯了!汗顏,謝謝老師!