Python urllib wget保存完整页面

时间:2019-02-03 22:11:59

标签: python web-scraping beautifulsoup wget urllib

我想用urllibwget或类似的python包下载网页,完成

网页(仅HTML)相比,网页的完整html文件 wget.downloadurllib.request.urlopen似乎在做。

enter image description here

其中两个html文件不同的示例URL:https://smash.gg/tournament/genesis-6/events/smash-for-switch-singles/brackets/500500/865126

2 个答案:

答案 0 :(得分:0)

您可以模拟按CTRL + s,然后按s进行保存(找到here

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

driver = webdriver.Chrome()
driver.get('https://smash.gg/tournament/genesis-6/events/smash-for-switch-singles/brackets/500500/865126')

save_me = ActionChains(driver).key_down(Keys.CONTROL).key_down('s').key_up(Keys.CONTROL).key_up('s')
save_me.perform()

答案 1 :(得分:0)

您链接的页面非常依赖javascript,尤其是AJAX请求。 wget根本不解析Java脚本,因此,如果JS源中需要任何链接,Wget只会跳过它们。这就是导致您注意到差异的原因。

您可能无法使用wget或urllib之类的内容完全保存此页面。由于它们都主要只与HTML源一起使用。 Wget也可以处理CSS,仅此而已。对于脚本繁重的页面,您需要复杂得多的东西。如果您真的想以编程方式保存它,则需要使用Selenium。