python如何使网页的所有内容都是动态的

python如何使网页的所有内容都是动态的,python,Python,使用selenium.webdriver登录Facebook并获取公众人物的html页面,例如,可能希望从该页面抓取帖子内容 我发现使用selemium.webdriver,只能获取当前屏幕中网页的内容,例如,当登录facebook并想要获取的所有网页内容时,我得到的只是当前屏幕中的几个帖子,但事实上,页面中的帖子(内容)太多了 我会多次滚动鼠标滚轮,页面可以到达底部,但现在我得到的只是当前屏幕中有限的内容 请告诉我解决方法,或者告诉我除selenium之外的其他方法或库,它们可以登录faceb

使用
selenium.webdriver
登录Facebook并获取公众人物的html页面,例如,可能希望从该页面抓取帖子内容

我发现使用
selemium.webdriver
,只能获取当前屏幕中网页的内容,例如,当登录facebook并想要获取的所有网页内容时,我得到的只是当前屏幕中的几个帖子,但事实上,页面中的帖子(内容)太多了

我会多次滚动鼠标滚轮,页面可以到达底部,但现在我得到的只是当前屏幕中有限的内容 请告诉我解决方法,或者告诉我除selenium之外的其他方法或库,它们可以登录facebbook并获取目标页面的所有内容(不仅仅是当前屏幕中的内容)

我写的程序是:

import requests

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

FACEBOOK_URL_PREFIX = "https://www.facebook.com/"

def web_public_figure(self,p_figure_name):
    #delete " " in p_figue_name
    p_figure_name_arr = p_figure_name.split(" ")
    p_figure_name_str = "".join(p_figure_name_arr)
    params = r"/?fref=ts"

    p_f_web_url = FACEBOOK_URL_PREFIX + p_figure_name_str + params

    # log in the website
    login_url = "https://www.facebook.com/login.php?login_attempt=1&lwv=110"
    glovar.webdriver_browser = webdriver.Chrome()
    glovar.webdriver_browser.get(login_url)

    # user credentials
    user = glovar.webdriver_browser.find_element_by_css_selector("#email")
    user.send_keys('choikunchen@gmail.com')
    password = glovar.webdriver_browser.find_element_by_css_selector("#pass")
    password.send_keys('expectopatronum')
    login = glovar.webdriver_browser.find_element_by_css_selector("#loginbutton")
    login.click()
    # the login maybe fail, return to the login page
    if "login" in glovar.webdriver_browser.current_url:
        glovar.webdriver_browser.close()
    time.sleep(10)

    glovar.webdriver_browser.get(p_f_web_url)
    html_p_f_page = glovar.webdriver_browser.page_source

    return html_p_f_page
p\u figure\u name
“Donald trump”
,但
“html\u p\u页面”
只是整个页面的一部分:当前屏幕中的部分)


页面中似乎有一个按钮“查看所有内容”,您能告诉我如何获取这样一个页面的所有内容吗?也许可以使用除selenium以外的库,您可以直接在selenium中进行操作。这只是一个通过编程向下滚动页面的问题。这个问题称为无限滚动,在中有详细描述

基本上,你只需要让一个页面按其高度向下滚动几次。像这样的东西应该可以,但我建议你阅读整个链接帖子

for i in range(1,100):
        self.driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
        time.sleep(4)

对于Jahooo,你能直接修改我的程序吗,这样我就能看清楚了