簡體   English   中英

Selenium 強制加載整個頁面

[英]Selenium Force Entire Page To Load

我正在使用 selenium 和 python,我正在嘗試抓取此頁面。 https://www.vexforum.com/u?period=all 我希望能夠獲得這個論壇上所有 40,000 左右用戶的數據,但它最初只加載 50 個。 您可以在頁面上繼續滾動以加載論壇的所有成員。 有什么方法可以請求整個頁面,所有 40k 成員? 感謝您的任何幫助,您可以提供!

您應該使用請求(如果 robots.txt 允許):

import requests

count = 2
while True:
    try:
        headers = {
            'Accept': 'application/json, text/javascript, */*; q=0.01',
            'Cookie': '_ga=GA1.2.439277064.1611329580; _gat=1; _gid=GA1.2.1557861689.1611329580',
            'Referer': 'https://www.vexforum.com/u?period=all',
            'Host': 'www.vexforum.com',
            'Accept-Language': 'it-it',
            'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.1 Safari/605.1.15',
            'Accept-Encoding': 'gzip, deflate, br',
            'Connection': 'keep-alive',
            'X-CSRF-Token': 'undefined',
            'Discourse-Present': 'true',
            'X-Requested-With': 'XMLHttpRequest',

        }

        params = {
            'order': 'likes_received',
            'page': str(count),
            'period': 'all'
        }

        r = requests.get('https://www.vexforum.com/directory_items?order=likes_received&page=2&period=all', headers=headers, params=params)
        print(r.json())
        print('\n\n\n')
        print('___________________________________________________')
        print('\n\n\n')
        count +=1
    except:
        pass

您現在只需解析 json 響應即可獲取您想要的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM