目前,我有一个只能下载HTML
给定页面的脚本。
现在我想 下载网页中的所有文件 ,包括HTML
,CSS
,JS
和 图像文件 (同我们得到任何网站的CTRL-S)。
我当前的代码是:
import urllib
url = "https://en.wikipedia.org/wiki/Python_%28programming_language%29"
urllib.urlretrieve(url, "t3.html")
我访问了许多问题,但它们都只下载了HTML
。
以下实现使您能够获取HTML子网站。为了获得您需要的其他文件,可以对其进行更完善的开发。我depth
为您设置了变量,以设置要解析的最大sub_websites。
import urllib2
from BeautifulSoup import *
from urlparse import urljoin
def crawl(pages, depth=None):
indexed_url = [] # a list for the main and sub-HTML websites in the main website
for i in range(depth):
for page in pages:
if page not in indexed_url:
indexed_url.append(page)
try:
c = urllib2.urlopen(page)
except:
print "Could not open %s" % page
continue
soup = BeautifulSoup(c.read())
links = soup('a') #finding all the sub_links
for link in links:
if 'href' in dict(link.attrs):
url = urljoin(page, link['href'])
if url.find("'") != -1:
continue
url = url.split('#')[0]
if url[0:4] == 'http':
indexed_url.append(url)
pages = indexed_url
return indexed_url
pagelist=["https://en.wikipedia.org/wiki/Python_%28programming_language%29"]
urls = crawl(pagelist, depth=2)
print urls
Python3版本,2019年。这可以节省一些时间:
#!/usr/bin/env python
import urllib.request as urllib2
from bs4 import *
from urllib.parse import urljoin
def crawl(pages, depth=None):
indexed_url = [] # a list for the main and sub-HTML websites in the main website
for i in range(depth):
for page in pages:
if page not in indexed_url:
indexed_url.append(page)
try:
c = urllib2.urlopen(page)
except:
print( "Could not open %s" % page)
continue
soup = BeautifulSoup(c.read())
links = soup('a') #finding all the sub_links
for link in links:
if 'href' in dict(link.attrs):
url = urljoin(page, link['href'])
if url.find("'") != -1:
continue
url = url.split('#')[0]
if url[0:4] == 'http':
indexed_url.append(url)
pages = indexed_url
return indexed_url
pagelist=["https://en.wikipedia.org/wiki/Python_%28programming_language%29"]
urls = crawl(pagelist, depth=1)
print( urls )
我想下载一个网页的完整html,我已经写了一些代码来做到这一点。然而,当我回头看下载的html时,我发现只有大约一半的html存在。我认为这是因为网页是动态的,当你与网页交互时,会加载更多的信息。我一直在尝试使用PhantomJS与ChromeDriver Manager协调一致地执行此操作,但运气不佳。这是只下载部分html的代码(我再次相信,因为页面是动态的): 这是我对PhantomJS的尝
问题内容: 我正在使用以下代码使用Python保存网页: 问题 :此代码将html保存为基本html,而不包含javascript,图像等。我想将网页保存为完整(就像我们在浏览器中有选择) 更新 :我现在正在使用以下代码保存webapge的所有js / images / css文件,以便可以将其保存为完整的网页,但是仍然像基本html一样保存了我的输出html: 问题答案: 尝试使用seleniu
我需要下载一个文件,每天从网站上的日期将过去。我尝试使用以下代码- 但这是一个错误- Invoke-WebRequest:基础连接已关闭:发送时发生意外错误。在行:3字符:1调用-网络请求-Uri$url-OutFile$输出 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 分类信息:无效操作:(System.网。[Invoke-WebRequest],
问题内容: 有什么方法可以使用WebDriver保存完整的网页吗? 当前,我执行getPageSource(),然后将所有内容放入html本地文件中,但是保存的页面的形状不好(奇怪的字符,没有图像,所有元素向下偏移) 请参阅以下我使用的代码: 有人可以建议我使用WebDriver在Firefox中保存完整网页的方法吗?例如自动? 问题答案: 奇怪的字符可能与写入文件的编码有关。 其他问题可能与以下
python如何获取完整的os版本 OS 版本: 10.0.19045 暂缺 Build 19045 用了一些办法这能获取:10.0.19045后面的暂缺 暂缺 Build 19045 获取不到 有什么办法获取完整的10.0.19045 暂缺 Build 19045
问题内容: 如果尝试,它将下载已解决的页面。但是我想下载原始脚本。这可能吗? 问题答案: 不用了,谢谢你。服务器完全控制它如何响应HTTP请求。 严格来说,首先您不能确定它的另一端是否是PHP。