我正在尝试抓取一个网站,该网站会返回一条错误消息,告知您的js已停用,而您可能是机器人。我试图在Web浏览器中看到相同的行为并且是相同的响应,但是如果启用JavaScript则不会影响原始响应,我的意思是原始响应不依赖于JS。
所以我在想如果我能告诉web / http服务器我的JS已启用而且我不是BOT。 这是可能的Python请求库,还是任何其他python库?
是的,我设置了User-Agent
标题,甚至是所有其他标题,例如host
,language
,connection
等
答案 0 :(得分:6)
如果网站只是通过执行某些j来检查是否可以执行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)
...