我尝试通过搜索网址锚文本,使用BeautifulSoup从URL页面中提取this。我已经使用BeautifulSoup尝试了几种不同的方法,包括一个不同的html解析器,但这些方法都没有成功。
代码:
import requests
import re
from bs4 import BeautifulSoup
url = "http://forum.xda-developers.com/showthread.php?t=1916098"
response = requests.get(url)
soup = BeautifulSoup(response.content, "lxml")
print(soup.find('a', text=re.compile('FULL OPTIMIZED')))
我做错了什么?欢迎提供其他想法。
答案 0 :(得分:1)
锚中有多个strings,因此它设置为无,您有几个选项,只需查找字符串/文本并获取父级:
print(soup.find(text="FULL OPTIMIZED").parent)
二,找到锚点后检查文本/字符串:
anchors = soup.select("a[href^=http://forum.xda-developers.com]")
print(next(a for a in anchors if "FULL OPTIMIZED" in a.text))
在font标签中使用 Version 字符串并再次获取父级:
print(soup.find('font', text=re.compile('Version')).parent)
这三个人都会给你:
<a href="http://forum.xda-developers.com/attachment.php?attachmentid=3827565&stc=1&d=1469815165" target="_blank">FULL OPTIMIZED<font size="4"> Version</font></a>