利用beautifulsoup下载网页html代码中的css, js, img文件并保存
# -*- coding:utf-8 -*-
from bs4 import BeautifulSoup as BS
import urllib.request as rqst
import os url = 'http://xxxxxxx'
headers = {'User-Agent': 'xxxxxx(这个网上随便找一个都可以)','Accept-Encoding':'utf-8'}
r = rqst.Request(url, headers=headers)
html = rqst.urlopen(url) #网页用bs解析
bs = BS(req, 'lxml') #获取css,js,img文件的路由
elc = bs.find_all('link', type='text/css')
elj = bs.find_all('script')
eli = bs.find_all('img') #保存css,js,img文件
for c in elc:
url = c['href'] #如果href不完整需要自己调整,下面的一样
file = url.split('/')[-1] #获取文件名
if(os.path.exists (file)==False):
try:
res = rqst.urlopen(url)
txt = res.read()
with open(file, 'wt', encoding='utf-8') as f:
f.write(txt)
f.close()
except Exception:
pass
for j in elj:
if(i.has_attr('src')):
url = j['src']
file = url.split('/')[-1]
if(os.path.exists(file)==False):
try:
res = rqst.urlopen(url)
txt = res.read()
with open(file, 'wt', encoding='utf-8') as f:
f.write(txt)
f.close()
except Exception:
pass
for i in eli:
url = i['src']
url = 'http://www.fmhhqb.com'+url
file = url.split('/')[-1]
if(os.path.exists(file)==False):
try:
r = getRequest(url)
res = rqst.urlopen(r)
txt = res.read()
with open(file, 'wb') as f:
f.write(txt)
f.close()
except Exception:
pass
利用beautifulsoup下载网页html代码中的css, js, img文件并保存的更多相关文章
- TP5.1:将外部资源引入到框架中(css/js/font文件)
为了让我们的框架形式变得更加好看,我们需要加入Bootstrap和Jq文件到框架中 1.通过Bootstrap和jq官网进行相关文件的下载 (1)Bootstrap下载地址:https://v3.bo ...
- Spring MVC程序中得到静态资源文件css,js,图片文件的路径问题总结
上一篇 | 下一篇 Spring MVC程序中得到静态资源文件css,js,图片 文件的路径 问题总结 作者:轻舞肥羊 日期:2012-11-26 http://www.blogjava.net/fi ...
- 小白学Python(7)——利用Requests下载网页图片、视频
安装 Requests 如果安装了Requests就已经可用了,否则要安装 Requests,只要在你的CMD中运行这个简单命令即可: pip install requests requests使用 ...
- 在java代码中,用xslt处理xml文件
http://blog.csdn.net/zhou_lei/article/details/2661735 ********************************************** ...
- Batsing的网页编程规范(HTML/CSS/JS/PHP)
特别注意!!!我这里的前端编程规范不苟同于Bootstrap的前端规范. 因为我和它的目的不同,Bootstrap规范是极简主义,甚至有些没有考虑到兼容性的问题. 我的规范是自己从编程实践中总结出来的 ...
- JAVA中解决Filter过滤掉css,js,图片文件等问题
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOE ...
- 转:JAVA中解决Filter过滤掉css,js,图片文件等问题
原文链接:https://www.cnblogs.com/ermeng/p/6440966.html public void doFilter(ServletRequest request, Serv ...
- Spring MVC程序中怎么得到静态资源文件css,js,图片文件的路径问题
问题描述 在用springmvc开发应用程序的时候.对于像我一样的初学者,而且还是自学的人,有一个很头疼的问题.那就是数据都已经查出来了,但是页面的样式仍然十分简陋,加载不了css.js,图片等资源文 ...
- 网页中嵌入可以点击“运行代码”执行html/css/js代码
html代码 <textarea name="textarea" cols="60" rows="10" id="rn01& ...
随机推荐
- Maven 依赖的作用域
Maven的一个哲学是惯例优于配置(Convention Over Configuration), Maven默认的依赖配置项中,scope的默认值是compile,项目中经常傻傻的分不清,直接默认了 ...
- IDEA中使用git合并分支的过程报错:cant checkout because of unmerged files
使用idea的git插件控制代码分支合并时,由于操作不当,报错了,控制台报错如下: cant checkout because of unmerged files,you have to resolv ...
- idou老师带教你学Istio 03: istio故障注入功能的介绍和使用
故障注入测试 故障注入测试顾名思义就是当被测试应用部分组件或功能出现潜在故障时其本身的容错机制是否正常工作,以达到规避故障保证正常组件或功能的使用.Istio提供了HTTP故障注入功能,在http请求 ...
- 编译原理实战——使用Lex/Flex进行编写一个有一定词汇量的词法分析器
编译原理实战--使用Lex/Flex进行编写一个有一定词汇量的词法分析器 by steve yu 2019.9.30 参考文档:1.https://blog.csdn.net/mist14/artic ...
- [TJOI2019]唱、跳、rap和篮球——容斥原理+生成函数
先附一组sd图 然后放上原题链接 注意,队伍不同指的是喜好不同,不是人不同 先想到\(DP\),然后你会发现并没有什么优秀的状态设计,然后我们考虑容斥 设\(lim\)表示选的癌坤组数的上限,\(f_ ...
- git下载代码的两种方式以及eclipse集成git
1.第一种使用tortoiseGit插件: 链接:https://pan.baidu.com/s/1ANDydwfaaVcUaqZDJWc_BQ 提取码:qgxt a.首先在setting中的Git中 ...
- HDU 6052 - To my boyfriend | 2017 Multi-University Training Contest 2
说实话不是很懂按题解怎么写,思路来源于 http://blog.csdn.net/calabash_boy/article/details/76272704?yyue=a21bo.50862.2018 ...
- OFDM时域削峰法降峰均比的原理及影响
以下是对实验室师兄答疑的转述,经加工后的文字不可避免的存在一些噪声,仅供参考: 时域削峰为非线性变换,效果上相当于将时域中功率较大值的信号点,减去一个合适的“抵消”信号点的功率,使其降低到所设置的门限 ...
- table表格合并列中相同的内容
方法一: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...
- Digit Division(排列组合+思维)(Gym 101480D )
题目链接:Central Europe Regional Contest 2015 Zagreb, November 13-15, 2015 D.Digit Division(排列组合+思维) 题解: ...