求助!网页爬虫遇到了非转义的小于号怎么解决

2017-05-19 15:46:41 +08:00
 8cbx

问题:

我尝试利用 pyspider 框架爬一个网站,在脚本用 pyquery 处理一个页面,但是这个页面中有 n 多个小于号,还是非转义过的小于号……在用 pyquery 处理的时候就会造成整个标签的混乱闭合。举个例子:

<p>0<=a,b<=10</p><p class="pst">Output</p>

我想提取 0<=a,b<=10 这一部分,后面的 Output 我不想要,但是用 pyquery 一处理后就出问题了……提取内容的时候总是少内容或者多内容

页面的源地址是: http://poj.org/problem?id=1000

我主要想提取页面中的主要内容,如 description、input、output 等内容,但是基本每个页面都会遇到这个小于号的问题

想请教各路大神这种情况应该如何处理啊?

多谢帮助!


我想过用正则先把小于号替换掉,但是貌似情况可能有点多,仅仅在我看过的很有限的页面中就出现过<<这种情况。现在已知会出现'< ', '<=', '<<', '<'这四种情况

2255 次点击
所在节点    程序员
3 条回复
aploium
2017-05-19 16:01:14 +08:00
chrome 能正常处理...(chrome 的开发者太屌了)
一个保底的办法: chrome 外面挂一层 selenium, 让 chrome 去解析
mansur
2017-05-19 16:04:34 +08:00
import re
twein
2017-05-19 16:06:04 +08:00
>>> from pyquery import PyQuery as pq
>>> a = '''<p>0<=a,b<=10</p><p class="pst">Output</p>'''
>>> doc = pq(a)
>>> doc('p').eq(0).text()
'0<=a,b<=10'
>>>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/362466

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX