python中的一个用法不清楚

在python编写爬虫的过程中(爬取wiki百科的词条),使用迭代器输出过程中出现了url["href"]想着应该属于迭代器里面一个用法,但却没有找到,求助这个用法的意思,谢谢

#coding:utf-8

import urllib
import urllib2
import re
from bs4 import BeautifulSoup

resp = 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
求解,谢谢

阅读 2.4k
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)                                  
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题