![](/img/trans.png)
[英]Web scraping using Beautiful Soup separating HTML and Javascript and CSS
[英]Separating HTML file with keyword for scraping
我正在使用 Scrapy 在 Python 中编程,并且有一个巨大的html
文件,其结构类似于下面演示的结构:
<span>keyword</span>
<title>Title 1</title>
<span>Date 1</span>
<div>Content 1</div>
<span>keyword</span>
<title>Title 2</title>
<span>Date 2</span>
<div>Content 2</div>
...
<span>keyword</span>
<title>Title N</title>
<span>Date N</span>
<div>Content N</div>
我的目标是获取每个部分的div
所有title
、 date
和内容,但这些部分本身并不位于单独的div
或其他元素中,只是一个接一个,直到第 N 个部分。
虽然我可以尝试将所有的title[1:N]
、 date[1:N]
和div[1:N]
作为len() = N
的列表,这样做会阻止调试,好像N
达到 10,000 和len(title)==len(date)==len(div) -> False
,很难找到哪里出错了(例如有些标题放在<strong>
而不是<title>
)。
我注意到的一项是位于每个部分之间的关键字。 借助该关键字,是否可以将整个html
分成 N 个部分,并希望通过迭代为每个部分获得item[i] = ["Title_i", "Date_i", "DIV_i"]
?
这样丢失的数据将表示为item[1]=["", Date_i, Div_i ]
并且更容易定位。
Carl,您可以尝试通过关键字将 html 文件内容拆分为简洁的部分。
Content
部分内重复...因此您最好不要使用纯关键字值或<span>keyword</span>
表达式进行拆分,而是使用最独特的<span>keyword</span>\\s*<title>
和<span>keyword</span><strong>
表达式。 因此,您很有可能正确拆分零件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.