提问人:Bryant Irawan 提问时间:6/30/2023 更新时间:6/30/2023 访问量:67
SwiftSoup 能够正确解析这一点吗?
Will SwiftSoup be able to parse this correctly?
问:
为了更好的上下文,我正在抓取/解析的网址是:https://www.dreamflows.com/xlist-ca.php
我正在使用 SwiftSoup 来解析 HTML,但从文档中,我不确定这是否可行。html有一堆这样的行,不幸的是,我需要的文本不在元素中(甚至不是p标签)。它始终遵循 img 标签。
具体说来
-
'<img src="./Dreamflows California Cross-Listing_files/pixelshim.gif" width="12" border="0">'
河段名称
-
请注意,有一个类似的场景,其中有
-
<a href="https://www.dreamflows.com/xlist-ca.php#Special_Symbols"><img src="./Dreamflows California Cross-Listing_files/querySym.gif" border="0"></a>
河段名称
-
我不想要这些。
因此,在我的示例中,应该只解析 North Fork Smith River - Low Divide Rd 到 Gasquet(14.6 英里,III 到 V-,H&S p69)。
答:
1赞
HedgeHog
6/30/2023
#1
您可以使用以下选择器来识别图像,然后从那里选择文本。img[src$="pixelshim.gif"]
根据您的标签,此示例仅使用 BeautifulSoup (Python) 进行演示
from bs4 import BeautifulSoup
import requests
soup = BeautifulSoup(
requests.get('https://www.dreamflows.com/xlist-ca.php').text
)
for e in soup.select('img[src$="pixelshim.gif"]'):
print(e.next)
输出
North Fork Smith River - Low Divide Rd to Gasquet (14.6 miles, III to V-, H&S p69)
Middle Fork Smith River - Siskiyou Gorge (0.8 mile, IV+ to V, AWetState)
Middle Fork Smith River - Patrick Creek Run (8.4 miles, III+ to IV, H&S p71)
North Fork Smith River - Low Divide Rd to Gasquet (14.6 miles, III to V-, H&S p69)
Middle Fork Smith River - Patrick Creek Run (8.4 miles, III+ to IV, H&S p71)
Smith River - Gasquet Run (4.5 miles, II+ to III, Creekin')
...
评论
0赞
Bryant Irawan
7/1/2023
谢谢!希望 SwiftSoup 也应该能够做到这一点。
评论