Python 如何从Javascript网页下载完整的html

Python 如何从Javascript网页下载完整的html,python,html,selenium-webdriver,phantomjs,href,Python,Html,Selenium Webdriver,Phantomjs,Href,我想下载一个网页的完整html,我已经写了一些代码来做到这一点。然而,当我回头看下载的html时,我发现只有大约一半的html存在。我认为这是因为网页是动态的,当你与网页交互时,会加载更多的信息。我一直在尝试使用PhantomJS与ChromeDriver Manager协调一致地执行此操作,但运气不佳。这是只下载部分html的代码(我再次相信,因为页面是动态的): 这是我对PhantomJS的尝试,但没有运气: driver = webdriver.Chrome(ChromeDriverMan

我想下载一个网页的完整html,我已经写了一些代码来做到这一点。然而,当我回头看下载的html时,我发现只有大约一半的html存在。我认为这是因为网页是动态的,当你与网页交互时,会加载更多的信息。我一直在尝试使用PhantomJS与ChromeDriver Manager协调一致地执行此操作,但运气不佳。这是只下载部分html的代码(我再次相信,因为页面是动态的):

这是我对PhantomJS的尝试,但没有运气:

driver = webdriver.Chrome(ChromeDriverManager().install().PhantomJS())
driver.get('https://medium.com/@benjaminhardy')
html = driver.page_source
time.sleep(25)
driver.close()

error:'str' object has no attribute 'PhantomJS'

有什么想法吗?谢谢

您可以使用请求库。例如:

导入请求
page=requests.get('https://medium.com/@本杰明哈迪)
打印(第页,内容)
这样做的另一个好处是,请求与python预先绑定,因此您不需要下载任何额外的内容

如果您正在使用BeautifulSoup,只需使用:

soup=BeautifulSoup(page.content)

如果这有帮助,请投票或标记为答案:D

说“不走运”,你的意思是PhantomJS驱动程序没有明显的区别吗?是的@Daveldito,我觉得PhantomJS在下载之前会呈现完整的html,但我对它不太熟悉。遗憾的是,我从未使用过PhantonJS,但这可能会对您有所帮助:我看不到您的代码中有任何地方可以在页面结束之前滚动和加载(正如我所说,我自己不知道如何使用Phantomjs)网页是动态的,使用js加载内容
driver = webdriver.Chrome(ChromeDriverManager().install().PhantomJS())
driver.get('https://medium.com/@benjaminhardy')
html = driver.page_source
time.sleep(25)
driver.close()

error:'str' object has no attribute 'PhantomJS'