Python请求整个HTML页面,而不是最初加载的内容

Python请求整个HTML页面,而不是最初加载的内容,python,html,python-3.x,web,web-scraping,Python,Html,Python 3.x,Web,Web Scraping,我试图在PlayStore上获取一些公开的评论数据,由于提供的API只允许获取自己应用程序的评论,所以我试图从网络上获取评论 我正在使用requests软件包获取PlayStore上给定应用程序的HTML页面,并将使用BeautifulSoup对其进行解析并将其保存到文件中,然后提取相关内容(每个用户的评级和评论) 我的问题是,并不是使用request.get(URL)检索页面的全部内容。 导航到PlayStore上某个应用程序上的“阅读所有评论”,您将进入该应用程序的所有评论页面。不幸的是,当

我试图在PlayStore上获取一些公开的评论数据,由于提供的API只允许获取自己应用程序的评论,所以我试图从网络上获取评论

我正在使用
requests
软件包获取PlayStore上给定应用程序的HTML页面,并将使用
BeautifulSoup
对其进行解析并将其保存到文件中,然后提取相关内容(每个用户的评级和评论)

我的问题是,并不是使用
request.get(URL)
检索页面的全部内容。 导航到PlayStore上某个应用程序上的“阅读所有评论”,您将进入该应用程序的所有评论页面。不幸的是,当第一次加载页面时,只加载有限的一组评论,而其余的评论只在向下滚动到底部时加载。通过调用
request.get(URL)
只检索有限的一组评论,而不是所有评论

尝试导航到
https://play.google.com/store/apps/details?id=com.bendingspoons.thirtydayfitness&hl=en&showAllReviews=true
并查看仅当滚动到页面底部时加载的旧评论

是否有办法访问整个页面/触发加载更多评论/模拟滚动

下面是我的代码:

# get reviews for Thirty Days of Fitness app
URL = "https://play.google.com/store/apps/details?id=com.bendingspoons.thirtydayfitness&hl=en&showAllReviews=true"

# make request
request = requests.get(URL)
# extract HTML text
raw_text = request.text

# parse HTML and prettify
soup = BeautifulSoup(raw_text, 'html.parser')
text = soup.prettify()

# write to file
save_path = './thirtydayfitness_html.txt'
with open(save_path, 'w+', encoding=request.encoding) as f:
    f.write(text)

将考虑使用Web驱动程序向下滚动。像这样

SCROLL_PAUSE_TIME = 0.5

# Get scroll height
last_height = driver.execute_script("return document.body.scrollHeight")

while True:
    # Scroll down to bottom
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

    # Wait to load page
    time.sleep(SCROLL_PAUSE_TIME)

    # Calculate new scroll height and compare with last scroll height
    new_height = driver.execute_script("return document.body.scrollHeight")
    if new_height == last_height:
        break
    last_height = new_height
参考资料:-