python采集博客中上传的QQ截图文件
哎,以前写博文的时候没注意,有些图片用QQ来截取,获得的图片文件名都是类似于QQ截图20120926174732-300×15.png的形式,昨天用ftp备份网站文件的时候发现,中文名在flashfxp里面显示的是乱码的,看起来好难受,所以写了一个python小脚本,爬取整个网站,然后获取每个文章页面的图片名,并判断如果是类似于QQ截图20120926174732-300×15.png的形式就输出并将该图片地址和对应的文章地址保存在文件中,然后通过该文件来逐个修改。
好了,下面是程序代码:
import urllib2 from bs4 import BeautifulSoup import re import sys reload(sys) sys.setdefaultencoding('utf-8') baseurl = "http://www.jb51.net/dont-worry.html" #说明下,起始地址是第一篇文章的地址,通过该文章的页面就 #可以使用BeautifulSoup模块来获取上一篇文章的地址 file = open(r"E:\123.txt","a") def pageloop(url): page = urllib2.urlopen(url) soup = BeautifulSoup(page) img = soup.findAll(['img']) if img == []: print "当前页面没有图片" return else: for myimg in img: link = myimg.get('src') print link pattern = re.compile(r'QQ\S*[0-9]*png') badimg = pattern.findall(str(link)) if badimg: print url file.write(link + "\n") file.write(url+"\n") def getthenextpage(url): pageloop(url) page = urllib2.urlopen(url) soup = BeautifulSoup(page) for spanclass in soup.findAll(attrs={"class" : "article-nav-prev"}): #print spanclass if spanclass.find('article-nav-prev') != -1: pattern = re.compile(r'http://www.jb51.net/\S*html') pageurl = pattern.findall(str(spanclass)) for i in pageurl: #print i getthenextpage(i) getthenextpage(baseurl) print "the end!" file.close()
最后,对和我以前刚开始做网站的同学说下,图片命名的话最好是用数字形式或者是英文、拼音的形式,要不然到最后想修改的话就麻烦了,所以最好就是从刚开始就养成好的习惯,用正确的命名规范来问文章、图片来命名,这样就会好很多。
相关推荐
-
Python实现屏幕截图的代码及函数详解
废话不多说,先给大家看下python实现屏幕截图的代码,具体代码如下所述: from selenium import webdriver import time def capture(url, save_fn="capture.png"): browser = webdriver.Firefox() # Get local session of firefox browser.set_window_size(1200, 900) browser.get(url) # Load pag
-
Python编写屏幕截图程序方法
正在编写的程序用的很多Windows下的操作,查了很多资料.看到剪切板的操作时,想起以前想要做的一个小程序,当时也没做,现在正好顺手写完. 功能:按printscreen键进行截图的时候,数据保存在剪切板里面,很不方便.比如游戏的时候截一个瞬间的图片,但你不能退出游戏保存图片,不方便多次截图.而我也不喜欢安装各种软件,所以准备写这个工具. 思路:一个是自定义快捷键,截图,保存.考虑到很可能各种冲突,取消.然后还是用按printscreen来截图,然后从剪切板读取图片数据,保存.想法是,先监听键盘
-
使用Python编写一个在Linux下实现截图分享的脚本的教程
引子 Linux下不支持QQ等功能丰富的IM,虽然可以通过wine运行QQ2012,但是还是喜欢在gtalk群中聊天,gtalk群不支持图片方式,这就要靠我们大家自己来解决了,eleven开放了一个Image上传和显示接口,提供了使用curl来解决,但是我们公司的网络使用squid禁止了curl的访问,所以整天看他们这么爽的分享图片我也不甘心阿,所以就使用Python写了一个分享图片的脚本 实现 使用scrot截图,然后使用urllib2库上传图片,如果存在PyQt4库则会将结果放到剪贴板上,如
-
Python中使用 Selenium 实现网页截图实例
Selenium 是一个可以让浏览器自动化地执行一系列任务的工具,常用于自动化测试.不过,也可以用来给网页截图.目前,它支持 Java.C#.Ruby 以及 Python 四种客户端语言.如果你使用 Python,则只需要在命令行里输入"sudo easy_install selenium"并回车,即可安装 selenium 的 Python 版本的客户端支持. 以 Python 为例,我们可以使用下面的脚本来给指定页面(比如我们首页)截图: # -*- coding: utf-8 -
-
使用Python保存网页上的图片或者保存页面为截图
Python保存网页图片 这个是个比较简单的例子,网页中的图片地址都是使用'http://.....jpg'这种方式直接定义的. 使用前,可以先建立好一个文件夹用于保存图片,本例子中使用的文件夹是 d:\\pythonPath这个文件夹 代码如下: # -*- coding: UTF-8 -*- import os,re,urllib,uuid #首先定义云端的网页,以及本地保存的文件夹地址 urlPath='http://gamebar.com/' localPath='d:\\pythonP
-
Python实现对PPT文件进行截图操作的方法
本文实例讲述了Python实现对PPT文件进行截图操作的方法.分享给大家供大家参考.具体分析如下: 下面的代码可以为powerpoint文件ppt进行截图,可以指定要截取的幻灯片页面,需要本机安装了powerpoint,可以指定截图的大小分辨率 import os import comtypes.client def export_presentation(path_to_ppt, path_to_folder): if not (os.path.isfile(path_to_ppt) and
-
python操作摄像头截图实现远程监控的例子
最近用python写了一个远程监控的程序,主要功能有:1.用邮件控制所以功能2.可以对屏幕截图,屏幕截图发送到邮箱3.可以用摄像头获取图片,这些图片上传到七牛4.开机自启动 复制代码 代码如下: ##coding by loster#import win32apiimport win32conimport platformimport socketimport timeimport osimport smtplibimport poplibfrom VideoCapture import Dev
-
python采集博客中上传的QQ截图文件
哎,以前写博文的时候没注意,有些图片用QQ来截取,获得的图片文件名都是类似于QQ截图20120926174732-300×15.png的形式,昨天用ftp备份网站文件的时候发现,中文名在flashfxp里面显示的是乱码的,看起来好难受,所以写了一个python小脚本,爬取整个网站,然后获取每个文章页面的图片名,并判断如果是类似于QQ截图20120926174732-300×15.png的形式就输出并将该图片地址和对应的文章地址保存在文件中,然后通过该文件来逐个修改. 好了,下面是程序代码: im
-
Python实现博客快速备份的脚本分享
目录 转存文章到MD 转存图片到本地 鉴于有些小伙伴在寻找博客园迁移到个人博客的方案,本人针对博客园实现了一个自动备份脚本,可以快速将博客园中自己的文章备份成Markdown格式的独立文件,备份后的md文件可以直接放入到hexo博客中,快速生成自己的站点,而不需要自己逐篇文章迁移,提高了备份文章的效率. 首先第一步将博客园主题替换为codinglife默认主题,第二步登录到自己的博客园后台,然后选择博客备份,备份所有的随笔文章,如下所示: 备份出来以后将其命名为backup.xml,然后新建一个
-
Python个人博客程序开发实例信息显示
目录 1.分页显示文章列表 1.1 获取分页记录 1.2 渲染分页导航部件 2.显示文章正文 3.文章固定链接 4.显示分类文章列表 5.显示评论列表 6.发表评论与回复 7.支持回复评论 8.网站主题切换 Python个人博客程序开发实例框架设计中,我们已经完成了 数据库设计.数据准备.模板架构.表单设计.视图函数设计.电子邮件支持 等总体设计的内容,本篇博客将介绍博客前台的实现.博客前台需要开放给所有用户,这里包括 显示文章列表.博客信息.文章内容和评论 等功能. 1.分页显示文章列表 为了
-
Python个人博客程序开发实例框架设计
目录 1.数据库(models.py) 1.1 管理员 Admin 1.2 分类 Category 1.3 文章 Post 1.4 评论 Comment 1.5 社交链接 Link 2.生成虚拟数据(fakes.py) 3.模板 3.1 模板上下文 3.2 渲染导航链接 3.3 Flash消息分类 4.表单(forms.py) 4.1 登录表单 4.2 文章表单 4.3 分类表单 4.4 评论表单 5.视图函数(blueprints:admin.auth.blog) 6.电子邮件支持(email
-
Python个人博客程序开发实例后台编写
目录 1.文章管理 1.1 文章管理主页 1.2 创建文章 1.3 编辑与删除 2.评论管理 2.1 关闭评论 2.2 评论审核 2.3 筛选评论 3.分类管理 本篇博客将是Python个人博客程序开发实例的最后一篇.本篇文章将会详细介绍博客后台的编写. 为了支持管理员管理文章.分类.评论和链接,我们需要提供后台管理功能.通常来说,程序的这一部分被称为管理后台.控制面板或仪表盘等.这里通常会提供网站的资源信息和运行状态,管理员可以统一查看和管理所有资源.管理员面板通常会使用独立样式的界面,所以你
-
使用Python实现博客上进行自动翻页
先上一张代码及代码运行后的输出结果的图! 下面上代码: # coding=utf-8 import os import time from selenium import webdriver #打开火狐浏览器 需要V47版本以上的 driver = webdriver.Firefox()#打开火狐浏览器 url = "http://codelife.ecit-it.com"#这里打开我的博客网站 driver.get(url)#设置火狐浏览器打开的网址 time.sleep(2) #使
-
python实现博客文章爬虫示例
复制代码 代码如下: #!/usr/bin/python#-*-coding:utf-8-*-# JCrawler# Author: Jam <810441377@qq.com> import timeimport urllib2from bs4 import BeautifulSoup # 目标站点TargetHost = "http://adirectory.blog.com"# User AgentUserAgent = 'Mozilla/5.0 (X11; Lin
-
解决.net项目中上传的图片或者文件太大无法上传问题
最近做项目的时候 用户提出要上传大图片 一张图片有可能十几兆 本来用的第三方的上传控件 有限制图片上传大小的设置 以前设置的是2M 按照用户的要求 以为直接将限制图片上传大小的设置改下就可以了 但是当上传大图片的时 总是异常: 错误消息:超过了最大请求长度 解决方案: 错误原因:asp.net默认最大上传文件大小为4M,运行超时时间为90S. 修改web.config中配置 <configuration> <system.web> <httpRuntime us
-
ASP.NET中上传并读取Excel文件数据示例
在CSDN中,经常有人问如何打开Excel数据库文件.本文通过一个简单的例子,实现读取Excel数据文件. 首先,创建一个Web应用程序项目,在Web页中添加一个DataGrid控件.一个文件控件和一个按钮控件. 复制代码 代码如下: <INPUT id="File1" type="file" name="File1" runat="server"> <asp:Button id="Button1&
-
Python使用Django实现博客系统完整版
今天花了一些时间搭了一个博客系统,虽然并没有相关于界面的美化,但是发布是没问题的. 开发环境 操作系统:windows 7 64位 Django: 1.96 Python:2.7.11 IDE: PyCharm 2016.1 功能篇 既然是博客系统,发布的自然是博客了.让我们想想,一篇博客有什么属性.所以我们要有能添加博客,删除博客,修改博客,以及给博客发评论,贴标签,划分类等功能. 关系分析 属性 博客:标题,内容. 标签:标签名 分类:分类的名称 评论:评论人,评论人email,评论内容 关
随机推荐
- js实现从左向右滑动式轮播图效果
- JavaScript实现控制打开文件另存为对话框的方法
- smarty模板判断数组为空的方法
- 探究Python中isalnum()方法的使用
- python中将函数赋值给变量时需要注意的一些问题
- asp 之上传漏洞终结篇
- C#各种数组的用法实例演示
- MySQL大表中重复字段的高效率查询方法
- Python import用法以及与from...import的区别
- jQuery height()、innerHeight()、outerHeight()函数的区别详解
- Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
- 分页 SQLServer存储过程
- MySQL获取系统性能和状态代码
- 上传文件返回的json数据会被提示下载问题解决方案
- 深入理解JavaScript系列(47):对象创建模式(上篇)
- 理解javascript中Map代替循环
- Android init.rc文件详解及简单实例
- 线程池的原理与实现详解
- Java实现的各种排序算法(插入排序、选择排序算法、冒泡排序算法)
- vue指令之表单控件绑定v-model v-model与v-bind结合使用