我正在尝试使用 Python 抓取网页内容,并且能够获取我需要的所有内容,但在返回的 HTML 中还有 cookie 顾问程序。我想删除它,但我不知道如何将其从 XPath 查询或 HTML 内容中排除。您可以在页面页脚找到顾问。 Webpage here
#!C:/Python27/python
from lxml import etree
import requests
import cgi
fs = cgi.FieldStorage()
q =fs.getfirst ("URL")
page = requests.get(q)
if q.find("http://www.dlib.org") != -1:
tree = etree.HTML(page.text)
element = tree.xpath('./body/form/table[3]/tr/td/table[5]')
else:
p = etree.XMLParser(remove_blank_text=True, resolve_entities=False)
tree = etree.fromstring(page.content, p)
element = tree.xpath('.//*[@id="content"]')
content = etree.tostring(element[0])
print "Content-type: text\n\n"
print content.strip()
对于您指定的页面,cookie Advisor 存在于带有 id=cookiesAlert
的 div
中。您可以使用 lxml.xpath()
搜索该 div
并将其删除,如下所示:
if q.find("http://www.dlib.org") != -1:
tree = etree.HTML(page.text)
element = tree.xpath('./body/form/table[3]/tr/td/table[5]')
else:
p = etree.XMLParser(remove_blank_text=True, resolve_entities=False)
tree = etree.fromstring(page.content, p)
element = tree.xpath('.//*[@id="content"]')
cookies_alert = element[0].xpath('.//*[@id="cookiesAlert"]')
for ca in cookies_alert:
ca.getparent().remove(ca)
我是一名优秀的程序员,十分优秀!