关闭

初用正则表达式爬取图片

标签: 正则表达式
1483人阅读 评论(4) 收藏 举报
分类:
<pre name="code" class="python">#coding:utf-8
#导入正则模块
import re
import urllib
#获取网页
def getHtml(url):
    #打开该网页
    page=urllib.urlopen(url)
    #读取网页的源代码
    html=page.read()
    #print html 测试一下是否成功读取
    return html
#获取图片
def getImg(html):
    #用正则表达式进行匹配
    reg='src="(.*?)\.jpg" data-tb-lazyload'
    imgre=re.compile(reg)
    #查找所有
    imglist=re.findall(imgre,html)
    x=0
    #遍历图片地址并保存
    for imgurl in imglist:
        x+=1
        urllib.urlretrieve(imgurl,'%s.jpg' % x)

url='http://tieba.baidu.com/p/3246506701'
#调用函数
html=getHtml(url)
getImg(html)


小某说:匹配正则的时候,.*?没有加括号,没有进行分组,然后就会报错
IOError: [Errno url error] unknown url type: 'src=%22http'
这里有具体讲关于圆括号的作用哦!

http://blog.csdn.net/hanjieson/article/details/8885206


还有关于爬取下来的图片为啥不能看的原因,一直显示图片已经损坏或者是怎么样的,原因是我们在源代码中看到的根本就不是图片原本的链接,具体的解决方法什么的在我的另一篇博客里面有哈,虽然是转发的吧!

 



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:36702次
    • 积分:611
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:7篇
    • 译文:0篇
    • 评论:6条
    文章分类
    最新评论