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)
  • 相关阅读:
    MySQL无法登录服务器解决方法
    photoshop mac版下载及破解
    静态html传参数
    flash与php 交互(as传参给php)
    PHP发送邮件类库PHPMailer的简单使用
    PHP CodeBase: 判断用户是否手机访问
    HTTP报文
    有关phpmailer的详细介绍及使用方法
    JS 实现 Tab标签切换功能
    new Option()——实现时间联动
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/6478876.html
Copyright © 2011-2022 走看看