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,你能直接修改我的程序吗,这样我就能看清楚了