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)
  • 相关阅读:
    关于android示例程序(bitmapfun)——高效加载图片的坑爹地方
    UML笔记
    设计模式>单例模式
    一件很诡异的事CSS
    添加option问题
    a:visited:hover
    电脑出问题了
    邪神呀concat
    关于鼠标中键滚动的问题onmousewheel
    坚强的人
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/6478876.html
Copyright © 2011-2022 走看看