python中的一個用法不清楚
問題描述
在python編寫爬蟲的過程中(爬取wiki百科的詞條),使用迭代器輸出過程中出現了url['href']想著應該屬于迭代器里面一個用法,但卻沒有找到,求助這個用法的意思,謝謝
#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'],對爬取得數據產生了截斷的效果,沒加之前,輸出為:print url輸出:Disclaimers加了之后,輸出為:print url['href']輸出:/wiki/Wikipedia:General_disclaimer求解,謝謝
問題解答
回答1:只要實現了__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)
相關文章:
1. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。2. javascript - 我是做web前端的,公司最近有一個項目關于數據統計的!3. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)4. javascript - vuejs+elementui 購物車價格計算,點擊加減號修改數量總價都不會改變,但是計算執行了5. 實現bing搜索工具urlAPI提交6. python - Django有哪些成功項目?7. javascript - 如何使用loadash對[object,object,object]形式的數組進行比較8. ios - 類似微博首頁,一張圖的時候是如何確定圖大小的?9. node.js - 微信小程序websocket連接問題10. Python中使用超長的List導致內存占用過大
