from bs4 import BeautifulSoup
import requests
url = "https://www.brightscope.com/ratings"
headers = {'User-Agent':'Mozilla/5.0'}
page = requests.get(url)
soup = BeautifulSoup(page.text, "html.parser")
data = soup.find_all('li',{"class":"more-data"})+soup.findAll('li', {"class":"more-data topten"})
for item in data:
print(item('a'))
我只想打印hrefs,但似乎无法弄清楚。我看了不同的视频,但收不到。我究竟做错了什么?我知道上面的代码正在打印“ a”标签的内容,但我只需要href的内容。
您需要使用对元素属性的字典式访问:
[a['href'] for a in item('a')]
而且,作为旁注,您可以改善li
元素定位的方式,而不是:
data = soup.find_all('li',{"class":"more-data"})+soup.findAll('li', {"class":"more-data topten"})
for item in data:
print(item('a'))
你可以做:
links = soup.select("li.more-data a")
for a in links:
print(a["href"])
这里li.more-data a
是一个CSS选择器这将匹配所有a
内部要素li
与要素more-data
类。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句