利用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& ...
随机推荐
- Hadoop_12_Hadoop 中的RPC框架演示
Hadoop中自己提供了一个RPC的框架.集群中各节点的通讯都使用了那个框架 1.服务端 1.1.业务接口:ClientNamenodeProtocol package cn.bigdata.hdfs ...
- jedis五种数据类型的方法解释
常用命令 1)连接操作命令 quit:关闭连接(connection) auth:简单密码认证 help cmd: 查看cmd帮助,例如:help quit 2)持久化 save:将数据同步保存到磁盘 ...
- Muduo阅读
创建了EventLoop对象的线程是IO线程,其主要功能是运行事件循环EventLoop::loop(), one loop per thread 事件循环必须在IO线程中运行 Reactor关键结构 ...
- python Pillow 图片处理模块,好强大有没有
python Pillow 图片处理模块,好强大有没有 Pillow 需要给 python 另外安装 第一个用法:https://www.cnblogs.com/ibingshan/p/1105739 ...
- Codeforces Round #509 (Div. 2) F. Ray in the tube(思维)
题目链接:http://codeforces.com/contest/1041/problem/F 题意:给出一根无限长的管子,在二维坐标上表示为y1 <= y <= y2,其中 y1 上 ...
- socket 在Unix domain的使用
server.c #include <stdio.h> #include <sys/types.h> #include <sys/socket.h> #includ ...
- BZOJ 1845: [Cqoi2005] 三角形面积并 (辛普森积分)
大力辛普森积分 精度什么的搞了我好久- 学到了Simpson的一个trick 深度开11,eps开1e-4.跑的比有些扫描线还快- CODE #include <bits/stdc++.h> ...
- my_note
1.C# $ 内插字符串 Console.WriteLine($"The value of pi is {Math.PI}"); 替代string.format 2. switch ...
- pycharm批量查找替换,正则匹配
ctrl + r:查找替换 ctrl+f:查找 ctrl+shift+r:全局查找替换 ctrl+alt+f:全局查找 shift+tab将代码左对齐 replace all 完成
- Laravel 多态关联中不能使用 has, whereHas
ghost commented on Apr 13, 2017 • edited by ghost i'm currently using this code in my own project m ...