【问题标题】:How to fake javascript enabled in Python requests/beautifulsoup如何伪造在 Python 请求/beautifulsoup 中启用的 javascript
【发布时间】:2016-01-01 11:01:57
【问题描述】:

我正在尝试抓取一个网站,该网站返回一条错误消息,指出您的 js 已被禁用,并且您可能是机器人。我试图在网络浏览器中看到相同的行为,是的,相同的响应,但是如果启用了 JavaScript,它不会影响原始响应,我的意思是原始响应不依赖于 JS。

所以我在想是否可以告诉 web/http 服务器我的 JS 已启用并且我不是 BOT。 这在 Python 请求库或任何其他 Python 库中是否可行?

是的,我设置了 User-Agent 标头,甚至所有其他标头,例如 hostlanguageconnection

【问题讨论】:

  • 页面是否正在执行一些脚本,告诉它 JavaScript 已禁用?没有多少标题会绕过的东西。
  • @MikeMcMahon:delhi.quikr.com/Bikes-Scooters/w264 如果我禁用 js,它会返回一些消息。

标签: python python-2.7 beautifulsoup python-requests


【解决方案1】:

如果站点只是通过执行一些js来检查javascript是否可以执行,使用selenium获取页面,然后使用BeautifulSoup解析selenium获取的页面。

from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Firefox()
driver.get('http://your-site/url')

html = driver.page_source
soup = BeautifulSoup(html)
...

【讨论】:

    猜你喜欢
    • 2022-06-17
    • 2012-04-17
    • 1970-01-01
    • 2014-03-05
    • 2021-10-17
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多