我试图根据网站的位置将抓取的网页拆分成不同的部分
<p>
<br>
或<div>
代码。因此,第一个<p>
代码会包含从<html>
到<p>
代码的所有数据/代码。我从lxml项目中看过类似etree的东西,但它看起来很切。
我从“普通”html解析看到的差异是所选标签的数量。我想选择多个标签及其数据并单独保存,而“普通”html解析工具只能选择一个隔离的标签/标签(使用xpath等)并使用它。 (我对网络编程也很陌生。)
我想到了一种方法,我会保存文件偏移,然后继续剪切和切片输入文件以实现我的目标,但它似乎最好是hackish。
我如何实现既定目标,请帮助。
感谢。
答案 0 :(得分:1)
使用BeautifulSoup。这是一个很好的解析HTML的python工具。
下面是一个示例,说明解析HTML是多么容易 - 它打印标记名称(p)和所有<p>
标记的内容。然后它找到id为“header”的元素。
这只是一个片段 - BeautifulSoup提供了许多过滤HTML文档的方法。
import sys
# add path to beautifulsoup library
sys.path.append('/usr/local/var/beautifulsoup')
# import it
from bs4 import BeautifulSoup
soup = BeautifulSoup(open("yourfile.html"))
for tag in soup.find_all('p'):
print tag.name, tag.text
soup.find(id="header")