python中的一個用法不清楚
問題描述
在python編寫爬蟲的過程中(爬取wiki百科的詞條),使用迭代器輸出過程中出現(xiàn)了url['href']想著應(yīng)該屬于迭代器里面一個用法,但卻沒有找到,求助這個用法的意思,謝謝
#coding:utf-8import urllibimport urllib2import refrom bs4 import BeautifulSoupresp = urllib2.urlopen('https://en.wikipedia.org/wiki/Main_Page').read()soup = BeautifulSoup(resp,'html.parser')listurl = soup.findAll(’a’,href=re.compile('^/wiki/'))for url in listurl:print url.get_text(),'------>','https://en.wikipedia.org'+url['href']
最后一行的url['href'],對爬取得數(shù)據(jù)產(chǎn)生了截斷的效果,沒加之前,輸出為:print url輸出:Disclaimers加了之后,輸出為:print url['href']輸出:/wiki/Wikipedia:General_disclaimer求解,謝謝
問題解答
回答1:只要實現(xiàn)了__getitem__方法的類就可以使用中括號取值。
In [16]: class A(): ...: def __getitem__(self,a): ...: return a ...: In [17]: a = A() In [18]: a[’a’], a[1] Out[18]: (’a’, 1)
相關(guān)文章:
1. javascript - JS設(shè)置Video視頻對象的currentTime時出現(xiàn)了問題,IE,Edge,火狐,都可以設(shè)置,反而chrom卻...2. java固定鍵值轉(zhuǎn)換,使用枚舉實現(xiàn)字典?3. 如何為每個應(yīng)用程序配置tomcat 6的logs / catalina.out。(為sys.out,sys.err配置Web應(yīng)用程序特定的日志文件)4. css - ionic中的柵格布局如何讓文字內(nèi)容多少不同的每一列中的內(nèi)容都能垂直居中?5. php自學(xué)從哪里開始?6. phpstady在win10上運(yùn)行7. java - 我設(shè)置了cookie的max age,但是cookie依然在關(guān)閉游覽器后消失了8. vim - win10無法打開markdown編輯器9. 這是什么情況???10. javascript - 用jsonp抓取qq音樂總是說回調(diào)函數(shù)沒有定義
