繁体   English   中英

Python:Web 使用 requests-html 抓取不起作用

[英]Python: Web scraping using requests-html not working

我正在尝试从交易网站上抓取数据。 我从 python 'requests' 库开始,但它返回的 HTML 页面与我浏览器上的页面不同。

我观察到 web 页面在加载缺少的信息时有轻微延迟,在研究中,我发现这可以使用“requests-html”package 解决。 但是,“requests-html”库返回与“请求”相同的 HTML。

我知道这可以通过使用 selenium 来解决,但是有没有办法使用上述库来做到这一点?

这是我的代码

from bs4 import BeautifulSoup
import requests
import time
from requests_html import HTMLSession

with HTMLSession() as s:
    login_url = 'https://www.screener.in/login/'
    USERNAME = "username"
    PASSWORD = "password"

    s.get(login_url)
    csrftoken = s.cookies['csrftoken']

    login_data = dict(csrfmiddlewaretoken=csrftoken, next='', username=USERNAME, password=PASSWORD)
    s.post(login_url, data=login_data, headers={"Referer": "https://www.screener.in/"})

    r = s.get('https://www.screener.in/company/ABBOTINDIA/')
    r.html.render(timeout=10, sleep=10)
    print(r.html.html)

我哪里错了? 标题有问题吗?

我是 web 抓取的新手,非常感谢您的帮助。

csrftokencsrfmiddlewaretoken不一样。

csrfmiddlewaretoken需要通过响应数据发送,而csrftoken需要是 cookie。

他们也有(至少对我来说)不同的价值观。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM