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. javascript - vue 怎么渲染自定义组件2. javascript - [MUI 子webview定位]3. mysql - 记得以前在哪里看过一个估算时间的网站4. 请教各位大佬,浏览器点 提交实例为什么没有反应5. javascript - 怎么看网站用了什么技术框架?6. javascript - Vue 的依赖追踪属于单向数据绑定还是双向绑定?7. javascript - node服务端渲染的困惑8. python3.x - c++调用python39. 学习这个是不是要先学下css?10. javascript - 单个页面执行多个jsonp的ajax请求,如何判断一个ajax请求执行完毕执行再另一个?
