美文网首页
python爬虫爬取非诚勿扰女嘉宾照片

python爬虫爬取非诚勿扰女嘉宾照片

作者: 那个阳光下奔跑的少年 | 来源:发表于2017-08-04 13:47 被阅读26次

    最近在学python,首先推荐两个网站:
    http://www.runoob.com/python/python-tutorial.html (python基础知识)
    http://blog.csdn.net/pleasecallmewhy/article/details/8922826 (关于爬虫博客)
    如果你有语言基础,爬虫上手很快,前面基础了解后,你可以找一些感兴趣的东西爬取或者上网找一些爬虫的例子,针对例子不懂的地方进行针对学习,下面直如主题:

    我爬取的是第609期女嘉宾,网站
    http://tv.jstv.com/fcwr/episode/1489737583149.shtml

    操作.gif

    首先点击女嘉宾,点击检查,可以看到如下代码

    <img src="http://static.jstv.com/img/2017/3/17/
    20173171489738296512_18787.jpg" alt="1号女嘉宾—刘妍滟">
    

    然后根据这个可以写出匹配的正则表达式:

    reg = r'<span>.*?嘉宾—(.+?)</span>'
    

    这个可以匹配男女嘉宾的,匹配姓名的正则表达式会在后面代码贴出。
    下面贴出完整代码

    #coding=utf-8
    import urllib2
    import urllib
    import re
    
    def getHtml(url):
        response = urllib2.urlopen(url);
        page = response.read();
        return page;
    
    def getImg(html):
        reg = r'src="(.+?\.jpg)"';
        imgre = re.compile(reg)
        imglist = imgre.findall(html)
        names = getNames(html)
        for index in range(len(imglist)):
            print imglist[index]
            urllib.urlretrieve(imglist[index], '%s.jpg' % names[index].decode('utf-8'))
    
    #<span>2号女嘉宾—许维君</span>
    #<span>第609期5号男嘉宾—翟旭龙</span>
    def getNames(html):
        reg = r'<span>.*?嘉宾—(.+?)</span>'
        namereg = re.compile(reg)
        names = namereg.findall(html)
        for name in names:
            print name
        return names
    
    html = getHtml("http://tv.jstv.com/fcwr/episode/1489737583149.shtml");
    getImg(html)
    

    有什么问题和想法欢迎与我联系,大家多多沟通,互相学习,如果觉得不错,也欢迎点赞,你的肯定是我努力和坚持的动力。

    相关文章

      网友评论

          本文标题:python爬虫爬取非诚勿扰女嘉宾照片

          本文链接:https://www.haomeiwen.com/subject/wdevlxtx.html