BeautifulSoup找不到匹配

时间:2016-09-26 17:55:25

标签: python-3.x url beautifulsoup extract

我尝试通过搜索网址锚文本,使用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')))

我做错了什么?欢迎提供其他想法。

1 个答案:

答案 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&amp;stc=1&amp;d=1469815165" target="_blank">FULL OPTIMIZED<font size="4"> Version</font></a>