提示¶
使链接绝对化¶
您可以将链接设为绝对链接,这对屏幕抓取很有用:
>>> d = pq(url='http://www.w3.org/', parser='html')
>>> d('a[accesskey="0"]').attr('href')
'/Help/'
>>> d.make_links_absolute()
[<html>]
>>> d('a[accesskey="0"]').attr('href')
'http://www.w3.org/Help/'
使用不同的解析器¶
默认情况下,PyQuery使用LXML XML解析器,如果不起作用,则继续使用LXML.html中的HTML解析器。在分析XHTML页面时,XML解析器有时会出现问题,因为解析器不会引发错误,而是给出一个不可用的树(例如w3c.org)。
您还可以选择显式使用哪个解析器:
>>> pq('<html><body><p>toto</p></body></html>', parser='xml')
[<html>]
>>> pq('<html><body><p>toto</p></body></html>', parser='html')
[<html>]
>>> pq('<html><body><p>toto</p></body></html>', parser='html_fragments')
[<p>]
HTML和HTML片段解析器是来自lxml.html的。