下载整个网页,然后使用urllib.request

时间:2018-07-13 07:30:26

标签: web-scraping webpage

我可以使用这些代码保存多个网页;但是,将它们另存为html后,我看不到正确的网站视图。例如,表格中的文字被打滑而看不到图像。 我需要像保存在任何网络浏览器中一样下载整个页面,以便可以看到正确的视图。

import urllib.request

url= 'https://asd.com/asdID='
for i in range(1, 5):
    print('     --> ID:', i)
    newurl = url + str(i)
    f = open(str(i)+'.html', 'w')
    page = urllib.request.urlopen(newurl)
    pagetext = str(page.read())
    f.write(pagetext)
    f.close()

1 个答案:

答案 0 :(得分:0)

您可以使用硒更好地下载完整的网站 只需运行以下代码

from selenium import webdriver
#Download the chrome driver from the link below and specify the path of chromedriver
#https://chromedriver.storage.googleapis.com/index.html?path=2.40/
chromedriver = 'C:/python36/chromedriver.exe'
url= 'https://asd.com/asdID='
for i in range(1, 5):
    browser = webdriver.Chrome(chromedriver)
    browser.get(url + str(i))
    data = browser.page_source
    with open("webpage%s.html" %(str(i)), "w+") as f:
        f.write(data)

更新

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
import ahk

firefox = FirefoxBinary("C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe")
from selenium import webdriver

driver = web.Firefox(firefox_binary=firefox)
driver.get("http://www.yahoo.com")
ahk.start()
ahk.ready()
ahk.execute("Send,^s")
ahk.execute("WinWaitActive, Save As,,2")
ahk.execute("WinActivate, Save As")
ahk.execute("Send, C:\\path\\to\\file.htm")
ahk.execute("Send, {Enter}")

您现在将获得一切