zoukankan      html  css  js  c++  java
  • 百度贴吧爬虫练习

    在交互平台打印贴吧内的图片的链接地址

     1 #coding:utf-8
     2 
     3 import re
     4 import urllib  //导入库
     5 
     6 def gethtml(url):
     7     page=urllib.urlopen(url)  //打开链接的页面
     8     html=page.read()  //读取链接的源码
     9     return html
    10 
    11 def getimg(html):
    12     reg=r'src="(.*?.jpg)" size' //正则
    13     imgreg=re.compile(reg)  //编译正则
    14     imglist=re.findall(reg,html)  //在源码中查找正则相对应的资源
    15     return imglist  //返回
    16         
    17 html=gethtml("https://tieba.baidu.com/p/5001345607?red_tag=1020337473")
    18 print getimg(html) //打印图片的链接地址

    正则解释:

    reg=r'src="(.*?.jpg)" size'
    1.是匹配除换行符 外的字符
    2*是匹配前一个字符0次或n次
    3+或*后跟?表示非贪婪匹配,即尽可能少的匹配,如*?重复任意次,但尽可能少重复
    4.*? 表示匹配任意数量的重复,但是在能使整个匹配成功的前提下使用最少的重复

    下载贴吧内的图片

     1 #coding:utf-8
     2 import re
     3 import urllib
     4 
     5 def geturl(url):
     6     page=urllib.urlopen(url)
     7     html=page.read()
     8     return html
     9     
    10 def getimg(html):
    11     r1=r'src="(.*?.jpg)"size'
    12     imgr1=re.compile(r1)
    13     imglist=re.findall(imgr1,html)
    14     x=0
    15     for i in imglist:
    16         urllib.urlretrieve(i,'%s .jpg'% x) //下载imglist中的图片,并命名为X.jpg
    17         x=x+1
    18     
    19 html=geturl("https://tieba.baidu.com/p/5000970745?red_tag=2784248253")
    20 getimg(html)
  • 相关阅读:
    创建目录(单个目录和多级子目录)方法
    C++中创建目录
    C/C++中判断某一文件或目录是否存在
    Eclipse快捷键大全(转载)
    关于注册模型失败的分析
    框架Model注册失败
    nop中导航属性的写法
    CodeFirst中导航属性的代码实现 理解
    MVC下验证码
    Androidi学习笔记 1
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/6478876.html
Copyright © 2011-2022 走看看