javascript - Python/HTML 如何在没有 cookie Advisor 的情况下抓取网页内容?

标签 javascript python html cookies

我正在尝试使用 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=cookiesAlertdiv 中。您可以使用 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)

关于javascript - Python/HTML 如何在没有 cookie Advisor 的情况下抓取网页内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32355432/

相关文章:

javascript - 在谷歌网站上创建的网站上的谷歌地图 Javascript API

css - 尝试创建网页。导航栏上的文本居中问题

javascript - 在 states.js 中使用多个解析

python - 有没有1.0是整数的交互式编程语言?

Javascript - 在所有页面上禁用按钮

Python 自定义两个列表映射

python - 直接从 Python 提交 Google Cloud ML Engine 作业

javascript - div 元素的高度返回零

javascript - JQuery 按姓氏对项目进行排序

检测Firebug的Javascript?