Python使用正则匹配实现抓图代码分享
内涵:正则匹配,正则替换,页面抓取,图片保存 。
实用的第一次 Python 代码 参考
#!/usr/bin/env python
import urllib
import re
x=0
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
def getImg(html):
global x
reg = 'alt=".+?" src="(.+?\.jpg)"'
imgre = re.compile(reg)
imglist = re.findall(imgre,html)
for imgurl in imglist:
urllib.urlretrieve(re.sub(r',\d+,\d+',',800,450',imgurl),"img/%s.jpg" % x)
print "\n"+re.sub(r',\d+,\d+',',800,450',imgurl)+"========"+"img/%s.jpg" % x
x+=1
print 'Starting...'
pages = range(1,9)
for p in pages:
html = getHtml('http://m.lovebizhi.com/category/7655/%d/' % p)
print "\n-------------------------page:%d-------------------------------" % p
getImg(html)
print "\nDone!"
以上所述就是本文给大家分享的全部代码了,本人Python菜鸟,第一个作品,希望对大家能有所帮助。
相关推荐
-
Python利用正则表达式匹配并截取指定子串及去重的方法
本文实例讲述了Python利用正则表达式匹配并截取指定子串及去重的方法.分享给大家供大家参考.具体如下: import re pattern=re.compile(r'\| (\d+) \| (\d+) \|') numset=set() all=''' | 29266795 | 533 | | 29370116 | 533 | | 29467495 | 533 | | 29500404 | 533 | | 29500622 | 533 | | 29515964 | 530 | | 295160
-
python正则表达式去掉数字中的逗号(python正则匹配逗号)
分析 数字中经常是3个数字一组,之后跟一个逗号,因此规律为:***,***,*** 正则式 复制代码 代码如下: [a-z]+,[a-z]? 复制代码 代码如下: import re sen = "abc,123,456,789,mnp"p = re.compile("\d+,\d+?") for com in p.finditer(sen): mm = com.group() print "hi:", mm print &qu
-
Python正则表达式匹配ip地址实例
本文实例讲述了正则表达式匹配ip地址实例.代码结构非常简单易懂.分享给大家供大家参考. 主要实现代码如下: import re reip = re.compile(r'(?<![\.\d])(?:\d{1,3}\.){3}\d{1,3}(?![\.\d])') for ip in reip.findall(line): print "ip>>>", ip PS:关于正则,这里再为大家推荐2款非常方便的正则表达式工具供大家参考使用: JavaScript正则表达式
-
Python正则表达式非贪婪、多行匹配功能示例
本文实例讲述了Python正则表达式非贪婪.多行匹配功能.分享给大家供大家参考,具体如下: 一些regular的tips: 1 非贪婪flag >>> re.findall(r"a(\d+?)","a23b") # 非贪婪模式 ['2'] >>> re.findall(r"a(\d+)","a23b") ['23'] 注意比较这种情况: >>> re.findall(r&q
-
python正则表达式中的括号匹配问题
问题: m = re.findall('[0-9]*4[0-9]*', '[4]') 可以匹配到4. m = re.findall('([0-9])*4([0-9])*', '[4]') 匹配不到4. 这是为什么呢?PS,这个是一个简化的说明,我要用的正则比这个复杂,所以要用到(),表示一个序列的匹配. 补充一点,我放在notepad++中用的时候,两种写法都能匹配出来,不知道为什么python中就不行了. 答案: python的正则中用()会进行匹配,所以返回结果是['',''],就是两个()
-
Python使用中文正则表达式匹配指定中文字符串的方法示例
本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法.分享给大家供大家参考,具体如下: 业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多, 特梳理总结如下. 难点: 处理GBK和utf8之类的字符编码, 同时正则匹配Pattern中包含汉字,要汉字正常发挥作用,必须非常谨慎.推荐最好统一为utf8编码,如果不是这种最优情况,也有酌情处理. 往往一个具有普适性的正则表达式会简化程序和代码的处理,使过程简洁和事半功倍,这往往是高手和菜鸟最显著的差别.
-
Python时间的精准正则匹配方法分析
本文实例讲述了Python时间的精准正则匹配方法.分享给大家供大家参考,具体如下: 要用正则表达式精准匹配时间,其实并不容易 方式一: >>> import re >>> t = '19:10:48' >>> m = re.match(r'(.*):(.*):(.*)', t) >>> m.groups() ('19', '10', '48') 方式二: >>> t = '19:10:48' >>>
-
Python 匹配任意字符(包括换行符)的正则表达式写法
想使用正则表达式来获取一段文本中的任意字符,写出如下匹配规则: (.*) 结果运行之后才发现,无法获得换行之后的文本.于是查了一下手册,才发现正则表达式中,"."(点符号)匹配的是除了换行符"\n"以外的所有字符. 以下为正确的正则表达式匹配规则: ([\s\S]*) 同时,也可以用 "([\d\D]*)"."([\w\W]*)" 来表示. Web技术之家_www.waweb.cn 在文本文件里, 这个表达式可以匹配所有的英文
-
Python正则表达式匹配中文用法示例
本文实例讲述了Python正则表达式匹配中文用法.分享给大家供大家参考,具体如下: #!/usr/bin/python #-*- coding:cp936-*-#思路,将str转换成unicode,方可用正则表达式,前提是,要知道文件的编码,本例中是gbk import cPickle as mypickle import re import sys if (__name__=='__main__'): fid1=file('demo.txt','r');#demo.txt写入字符如:我们 p=
-
python正则匹配抓取豆瓣电影链接和评论代码分享
复制代码 代码如下: import urllib.requestimport reimport time def movie(movieTag): tagUrl=urllib.request.urlopen(url) tagUrl_read = tagUrl.read().decode('utf-8') return tagUrl_read def subject(tagUrl_read): ''' 这里还存在问题: ①这只针对单独的一页进行排序,而没有
随机推荐
- 判断日期是否能跨月查询的js代码
- 前端js弹出框组件使用方法
- php中print(),print_r(),echo()的区别详解
- JavaScript 自定义事件之我见
- JS getAttribute和setAttribute(取得和设置属性)的使用介绍
- WML学习之五 显示表单
- 一个实现VBS倒计时的代码
- SQL对时间处理的语句小结
- java中List、Array、Map、Set等集合相互转换
- jQuery实现简单滚动动画效果
- SSH框架网上商城项目第5战之商品类别级联查询和分页功能
- 详解C++编程中一元运算符的重载
- 拓风科技为您提供动态空间
- Linux下编译C程序的过程
- Android Bluetooth蓝牙技术初体验
- JavaScript callback回调函数用法实例分析
- 判断两颗二叉树是否相似的两种方法
- 详解Python做一个名片管理系统
- Python中循环后使用list.append()数据被覆盖问题的解决
- Python语言进阶知识点总结
