Beim Schreiben eines Crawlers in Python (Crawling von Wikipedia-Einträgen) erschien die URL["href"] im Ausgabeprozess der Verwendung des Iterators. Ich dachte, sie sollte zu einer Verwendung im Iterator gehören, aber das konnte ich nicht Finden Sie es. Bitte helfen Sie mir bei dieser Verwendung
#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"]
Die URL["href"] in der letzten Zeile hat einen Kürzungseffekt auf die gecrawlten Daten. Vor dem Hinzufügen lautet die Ausgabe: Druck-URL
Ausgabe: Haftungsausschluss
Nach dem Hinzufügen lautet die Ausgabe:
Druck-URL[" href" ]
Ausgabe:/wiki/Wikipedia:General_disclaimer
Lösung, danke
只要实现了__getitem__方法的类就可以使用中括号取值。