【发布时间】:2023-01-03 00:55:24
【问题描述】:
我正在使用 BeautifulSoup 来提取这一行:
<a href="https://github.com/J-Lentz/iwgtk/archive/v0.8.tar.gz">iwgtk-0.8.tar.gz</a>
从网页。
<div>
<ul id="pkgsrcslist">
<li>
<a href="https://github.com/J-Lentz/iwgtk/archive/v0.8.tar.gz">iwgtk-0.8.tar.gz</a>
</li>
</ul>
</div>
具体来说,我想要这部分:iwgtk-0.8.tar.gz
我写了这段代码:
#!/usr/bin/env python3
from bs4 import BeautifulSoup
import requests
url="https://aur.archlinux.org/packages/iwgtk"
#url=sys.argv[1]
page = requests.get(url)
if page.status_code ==200:
soup = BeautifulSoup(page.text, 'html.parser')
urls = []
# loop over the [li] tags
for tag in soup.find_all('li'):
atag = tag.find('a')
try:
if 'href' in atag.attrs:
url = atag.get('href').contents[0]
urls.append(url)
except:
pass
# print all the urls stored in the urls list
for url in urls:
print(url)
我认为是这条线
url = atag.get('href').contents[0]
那失败了。我试过了
url = atag.get('a').contents[0]
但那也失败了。
【问题讨论】:
-
你说想要这个部分:iwgtk-0.8.tar.gz 但试图提取
href,那是不一样的。所以您需要hrefs 或链接文本?
标签: python beautifulsoup