Dalam proses menulis crawler dalam Python (merangkak entri Wikipedia), url["href"] muncul dalam proses output menggunakan iterator, saya fikir ia sepatutnya menjadi penggunaan dalam iterator, tetapi saya tidak dapat mencari itu. Tolong bantu saya dengan penggunaan ini, terima kasih
#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"] dalam baris terakhir mempunyai kesan pemangkasan pada data yang dirangkak Sebelum menambahkannya, outputnya ialah:
print url
Output: Penafian
Selepas menambahnya, outputnya ialah:
print url[" href" ]
Output:/wiki/Wikipedia:General_disclaimer
Penyelesaian, terima kasih
Selagi kelas melaksanakan kaedah __getitem__, anda boleh menggunakan kurungan segi empat sama untuk mendapatkan nilai.