簡體   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