【发布时间】:2015-06-26 17:57:58
【问题描述】:
我有一个将两个 HTML 文件合并为一个的脚本。它实际上只是在第一个 HTML 代码之后插入第二个 HTML 代码。
htmlfile1 = urllib.urlopen(url1)
htmlfile2 = urllib.urlopen(url2)
htmltext1 = htmlfile1.read()
htmltext2 = htmlfile2.read()
name=symbolslist[i]+'.html'
o=open(name, "w")
o.write(htmltext1)
o.write(htmltext2)
o.close()
在我的另一个线程中,当解决方案正确时,我似乎无法使用 bs4 解析第二个 HTML 部分的信息。
我在解析第一个 HTML 上的信息时没有问题。
线程: beautifulsoup parsing - dealing with superscript?
因此我想知道 Beautiful Soup 是否适用于串联的 HTML。
【问题讨论】:
-
是什么阻止您尝试并回发结果?我会先尝试一些测试 HTML 文件。
-
BS 不做自己的解析,所以我想这取决于你使用的解析器。您想要这样做有什么特别的原因吗?
-
这可能还取决于 HTML 的类型。例如,我只是尝试连接不同文件的两个副本;至少在我拥有的 bs4、lxml 和 libxml2 版本中,一个有效的 HTML5 文件加倍使其变得糟糕,一个有效的 HTML 4.01 过渡文件默默地吃掉了第二个 HEAD 但似乎可以工作,一个有效的 pre-HTML 3 文件就可以了很好。
-
“这是两个 Yahoo Finance 页面连接在一起” - 为什么?!
-
“我认为通过连接版本解析会更容易” - 这似乎是一个奇怪的假设,为什么不只是
for在相关页面上循环呢? “我正在使用 beautifulsoup4” - 同样,它不进行自己的解析。你用的是哪个解析器?
标签: python html beautifulsoup concatenation