python中的一個用法不清楚
阿神
阿神 2017-05-18 10:59:46
0
1
782

在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
求解,謝謝

阿神
阿神

闭关修行中......

全部回覆(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)                                  
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板