查找文本我有屏幕抓取在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
剛剛返回,這將是該行爲實際上竟然是圖書館具體你要 –