查找文本我有屏幕抓取在Python代码的一点点,使用BeautifulSoup,那就是让我头疼。对html的一个小改动使我的代码中断了,但是我看不出为什么它不起作用。这是基本的解析时,HTML如何看一个演示:find_all不混合内容
soup=BeautifulSoup("""
<td>
<a href="https://alink.com">
Foo Some text Bar
</a>
</td>
""")
links = soup.find_all('a',text=re.compile('Some text'))
links[0]['href'] # => "https://alink.com"
升级后,该标签的身体现在包括一个img标签,这使得代码休息。
<td>
<a href="https://alink.com">
<img src="dummy.gif" >
Foo Some text Bar
</a>
</td>
'links'现在是一个空列表,所以正则表达式找不到任何东西。 我砍死它周围由单独的文本匹配,然后找到 其母公司,但似乎更脆弱:
links = soup.find_all(text=re.compile('Some text'))
links[0].parent['href'] # => "https://alink.com"
什么是另外一个img标签作为同级的文字 内容突破搜索由BeautifulSoup做的,是有 修改第一代码工作的一种方式?
为什么不'下一个(链接[ “HREF”]在soup.find_all(链接 'A'),如果 “一些文本” 在link.text)' –
似乎罚款。 next()调用是做什么的? – oligofren
刚刚返回,这将是该行为实际上竟然是图书馆具体你要 –