我是 Python 新手,正在尝试构建我的第一个网络爬虫。我想去一个页面,打开一堆子页面,在页面上找到一个特定的链接(带有ID),然后我想打印链接数据。现在我得到错误:'列表索引必须是整数,而不是 str',这意味着我在(至少)最后一行代码中做错了。
我真正不确定的是,我需要做什么才能从特定链接中获取和解析 href 数据——因为我认为,其余的都在工作(加载子页面)。刮板是(假设)抓取丹麦公社的所有网址并打印出来,所以打印的第一行应该是:
http://www.albertslund.dk(关注 97 更多)
无论如何,这是代码 - 希望任何人都可以告诉我,我做错了什么。提前感谢一堆。
from BeautifulSoup import BeautifulSoup
from mechanize import Browser
f = open("kommuneadresser.txt", "w")
br = Browser()
url = "https://bdkv2.borger.dk/foa/Sider/default.aspx?fk=22&foaid=11541520"
page = br.open(url)
html = page.read()
soup = BeautifulSoup(html)
link = soup.findAll('a')
kommunelink = link[21:116]
#we create a loop - for every single kommunelink in the list,
#'something' will happen
for kommune in kommunelink:
#the link-part is saved as a string
kommuneurl = kommune['href']
#we construct a new url from two strings
fuldurl = "https://bdkv2.borger.dk/" + kommuneurl
#we open the page and save it in a variable
kommuneside = br.open(fuldurl)
#we read the page
html2 = kommuneside.read()
#we handle the page in beautifulsoup
soup2 = BeautifulSoup(html2)
#we find a specific link on the page
hjemmesidelink = soup2.findAll('a', attras={'ID':"uscAncHomesite"})
print hjemmesidelink['href']