前面已经写了如何获取网页源码,那么接下来就是该解析网页并提取需要的数据了。这里简单写一下正则表达的用法。

  首先,找个要抓取图片的网站,获取源码。

import requests
import re# 获取网页源码
url = 'http://www.ivsky.com/tupian/xiaohuangren_t21343/'
data = requests.get(url).text

  小黄人的图。。。接下来浏览器检查元素,发现图片源码格式,前面均为<img ,结尾均为 .jpg 而我们要提取的就是网址部分。

  正则表达式如下:

#正则表达式三部曲
#<img src="http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren-009.jpg" width="135" height="135" alt="卑鄙的我小黄人图片">
regex = r'<img src="(.*?.jpg)"'#匹配网址
pa = re.compile(regex)#转为pattern对象
ma = re.findall(pa, data)#findall 方法找到所有的符合pa的对象,添加到一个列表中并返回
print(ma)#图片网址列表
print(len(ma))#列表长度,即找到图片个数#截取部分列表输出
#['http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren_tupian-007.jpg', 'http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren-009.jpg', 'http://img.ivsky.com/...
#25

python3爬虫初探(三)之正则表达式相关推荐

  1. python3 爬虫第三步 本文包你学会正则 不会就来锤我

    简介 正则表达式是一种描述字符的一种方式,通过该方式,匹配字符串. 正则表达式是自由的,一个字符的含义往往代表着一类字符,通过多个正则正则符号的组合描述,可以使组成的正则表达式能够描述一类字符串. 在 ...

  2. python3爬虫初探(六)之EXCEL

    在爬取数据之后,数据的保存就成为一个新的问题,一般不太大的的数据存储到EXCEL就可以了.这里介绍一个python的第三方库--xlsxwriter. 这个库的安装就不介绍了,pip就可以,不用FQ. ...

  3. python3爬虫初探(五)之从爬取到保存

    想一想,还是写个完整的代码,总结一下前面学的吧. import requests import re# 获取网页源码 url = 'http://www.ivsky.com/tupian/xiaohu ...

  4. python3爬虫初探(二)之requests

    关于请求网页,不得不提requests这个库,这是爬虫经常用到的一个第三方库,用pip安装即可. requests用法很多,这里只写一些基础的,其他高级功能可参考官方文档. import reques ...

  5. python3爬虫初探(一)之urllib.request

    #----第一把武器-----urllib.request--------- urllib.request是python3自带的库(python3.x版本特有),我们用它来请求网页,并获取网页源码.话 ...

  6. python3爬虫初探(八)requests

    几个常见的操作: import requests #from PIL import Image #from io import BytesIO def simple_get(url):     res ...

  7. python3爬虫初探(七)使用MySQL

    MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也 ...

  8. python3爬虫初探(四)之文件保存

    接着上面的写,抓取到网址之后,我们要把图片保存到本地,这里有几种方法都是可以的. #-----urllib.request.urlretrieve----- import urllib.request ...

  9. python3 爬虫日记(三) 爬取堆糖动态加载网页

    1.分析:进入堆糖网后我们在分类找到插画绘画进入这个分类后发现好多图片,下拉后发现会有不断的图片刷新出来,这就是堆糖采用了动态加载网页. 2.用开发者工具(F12)分析:按一下F12,找到networ ...

最新文章

  1. 【算力大放送2】GPU 专属服务器使用教程!!!
  2. php的数组与字符串的转换函数整理
  3. mysql索引图文操作_图文并茂,说说MySQL索引
  4. php变量赋值给js
  5. 同等质量下那种图片格式小_八个PPT图片处理必会的神技巧,帮你轻松做出高质量PPT...
  6. 实用程序类与函数式编程无关
  7. c语言宏定义比较三个数大小,C语言中两个宏进行大小对比,其中一个没有定义,这种行为如何定义。...
  8. rest php,restAPI
  9. FFmpeg源代码简单分析:avformat_alloc_output_context2()
  10. 高质量响应式的 HTML/CSS 网站模板
  11. Super Mario HDU 4417 主席树区间查询
  12. 今日头条php笔试题,2017年今日头条笔试题目
  13. JVM垃圾回收机制详解
  14. hbuilder中uniapp运行微信小程序模拟器时出错
  15. 设计模式的原则和分类 思想模型
  16. android time计时器,android 计时器的三种实现(Chronometer、Timer、handler)
  17. 【响应式Web前端设计】i标签和em标签的区别
  18. 【机器翻译】《Gradient-guided Loss Masking for Neural Machine Translation》论文总结
  19. 盛迈坤电商:店铺自然流量怎么提升
  20. warning: iteration xxxu invokes undefined behavior [-Waggressive-loop-optimizations]

热门文章

  1. C++编程练习:设计一个银行账户类,包含户名、帐号以及当前余额属性,并且能完成开户、存款、取款和查询余额等行为。
  2. python是什么和c++是什么区别_c++和python的区别有哪些
  3. 传统公司部署OpenStack(t版)简易介绍(七)——cinder模块部署
  4. 虚拟串口工具Virtual Serial Port Driver(VSPD)
  5. 微型计算机最早出现在第三代计算机中,微型计算机最早出现在第三代计算机中。...
  6. asp.net添加删除表格_你问我答|135编辑器使用之超链接和表格问题
  7. hdfs数据节点分发什么协议_HDFS主要节点解说(一)节点功能
  8. css如何让滚轮滚动时 不让页面滚动_中国第五届 CSS 大会参会总结
  9. python内核大小_关于keras.layers.Conv1D的kernel_size参数使用介绍
  10. java多线程问题 Runnable和Callable有什么不同?