问题:
我尝试利用 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 等内容,但是基本每个页面都会遇到这个小于号的问题
想请教各路大神这种情况应该如何处理啊?
多谢帮助!
我想过用正则先把小于号替换掉,但是貌似情况可能有点多,仅仅在我看过的很有限的页面中就出现过<<这种情况。现在已知会出现'< ', '<=', '<<', '<'这四种情况
1
aploium 2017-05-19 16:01:14 +08:00
chrome 能正常处理...(chrome 的开发者太屌了)
一个保底的办法: chrome 外面挂一层 selenium, 让 chrome 去解析 |
2
mansur 2017-05-19 16:04:34 +08:00
import re
|
3
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' >>> |