使用lxml解析HTML数据
我是编码初学者,我的一个朋友告诉我使用 BeautifulSoup 而不是 htmlparser。在遇到一些问题后,我得到了使用 lxml 而不是 BeaytifulSoup 的提示,因为它的性能好 10 倍。
我希望有人能给我提示如何抓取我正在寻找的文本。
我想要的是找到一个包含以下行和数据的表格:
<tr>
<td><a href="website1.com">website1</a></td>
<td>info1</td>
<td>info2</td>
<td><a href="spam1.com">spam1</a></td>
</tr>
<tr>
<td><a href="website2.com">website2</a></td>
<td>info1</td>
<td>info2</td>
<td><a href="spam2.com">spam2</a></td>
</tr>
如何使用信息 1 和 2 抓取网站,没有垃圾邮件,使用 lxml
并获得以下结果?
[['url' 'info1', 'info2'], ['url', 'info1', 'info2']]
I'm a beginner in coding and a friend of mine told me to use BeautifulSoup instead of htmlparser. After running into some problems I got a tip to use lxml instead of BeaytifulSoup because it's 10x better.
I'm hoping someone can give me a hint how to scrape the text I'm looking for.
What I want is to find a table with the following rows and data:
<tr>
<td><a href="website1.com">website1</a></td>
<td>info1</td>
<td>info2</td>
<td><a href="spam1.com">spam1</a></td>
</tr>
<tr>
<td><a href="website2.com">website2</a></td>
<td>info1</td>
<td>info2</td>
<td><a href="spam2.com">spam2</a></td>
</tr>
How do I scrape the website with info 1 and 2, without spam, with lxml
and get the following results?
[['url' 'info1', 'info2'], ['url', 'info1', 'info2']]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
结果:
Result:
我使用xpath:
td/a[not(contains(.,"spam"))]/@href | td[not(a)]/text()
I use the xpath:
td/a[not(contains(.,"spam"))]/@href | td[not(a)]/text()
长XPath的含义如下:
The long XPath has the following meaning: