我有以下代码: 导入请求 从bs4导入BeautifulSoup
def hltvmatch_spider(max_offset):
offset = 0
while offset < max_offset:
url = 'http://www.hltv.org/?pageid=188&offset=' + str(offset)
source_code = requests.get(url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, 'html.parser')
for link in soup.findAll('a'):
href = "http://www.hltv.org" + link.get('href')
print(href)
offset += 50
hltvmatch_spider(1)
返回错误:
^{pr2}$你知道我需要改变什么吗?谢谢你的帮助!!在
您应该设置href=True,以便只获取具有href属性的锚点,当锚点没有href属性时,调用
.get("href")
将返回None:正如我所说,获取所有锚点可能不是您想要的,因为加入基本url是行不通的,这将从主要内容获取所有锚点标记:
^{pr2}$这会给你:
如果您没有更具体的链接,您将获得如下链接:
当+with
http://www.hltv.org
时不会很好地工作。在为了获得第一个i.e.edate列下的链接,我们可以将
a[href*=matchid=]
添加到我们的select中,html布局不太好解析,因为没有我称之为可靠的方法来解析数据,但是由于matchid=
对于该列中的href来说是唯一的。在要获取完整的html,您需要将基本url连接到href:
这给了你:
相关问题 更多 >
编程相关推荐