ldr*_*vic 8 python cookies web-scraping python-3.x python-requests
我想从 mobile.de 上抓取一些供个人使用的广告。
我正在使用 python 3.6 和 requests lib,但我面临一些机器人检查的问题。我怎样才能从他们的网站通过这个网关?
import requests
from bs4 import BeautifulSoup
r = requests.get("https://www.mobile.de/?lang=en")
bs = BeautifulSoup(r.content, 'lxml')
print(bs)
Run Code Online (Sandbox Code Playgroud)
这部分代码向我显示以下内容:
<p>To continue your browser has to accept cookies and has to have JavaScript enabled.</p>
Run Code Online (Sandbox Code Playgroud)
我在哪里可以找到我需要解决的逻辑才能通过这个问题?
您收到意外内容的原因是您没有有效的标头。正如@afit 所说。但这To continue your browser has to accept cookies and has to have JavaScript enabled.是有道理的,因为如果您不启用 JavaScript,您将无法加载完整的内容。
注意:我建议您使用selenium这样做。requests_html由于渲染时缺少合适的标头,无法成功访问网站。顺便说一句,如果你想访问 JavaScript 中的 url 并抓取内容,这将是一项艰巨的工作。
from bs4 import BeautifulSoup
from selenium import webdriver
dr = webdriver.Chrome()
dr.get("https://www.mobile.de/?lang=en")
bs = BeautifulSoup(dr.page_source,"lxml")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26343 次 |
| 最近记录: |