在this链接中,我想从r_compare_bars_value
类中的span标记获取文本。如果你搜索那个类,你会看到文本为104 (min: 88) fps
,我只想取min:88
部分。我的代码
from bs4 import BeautifulSoup
import urllib.request,requests
r = urllib.request.urlopen('http://www.notebookcheck.net/Computer-Games-on-Laptop-Graphics-Cards.13849.0.html').read()
soup = BeautifulSoup(r)
links = [a['href'] for a in soup.select(".gpugames_header_games > a")]
for url in links:
if url != "":
print (url)
rr = requests.get(url).content
soup = BeautifulSoup(rr,"html.parser")
for aa in soup.select("div.r_compare_bars_value span"):
print (aa)
if "min:" in aa.text:
print (aa.text)
但它现在什么也不打印,在其他类上打印了大量字符串,而不是min:88
部分。我也试过div.tx-nbc2fe-pi1
,也试过不带span标签。那个网站上的密码真是乱七八糟。我的错误在哪里?我该如何纠正?你知道吗
如果不处理通过拆分、剥离等返回的文本,就没有办法做到这一点。。r\u compare\u bars\u value实际上也在span而不是div中,因此
soup.select("span.r_compare_bars_value")
是正确的选择器。你知道吗这实际上是一个很好的正则表达式用例:
在几个URL上运行上面的命令可以:
相关问题 更多 >
编程相关推荐