zoukankan      html  css  js  c++  java
  • python3爬虫初探(三)之正则表达式

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

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

    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
  • 相关阅读:
    微信分享接口
    MySQL的语句执行顺序
    C++类内存分布
    static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
    c++内存中字节对齐问题详解
    msyql中子查询IN,EXISTS,ANY,ALL,SOME,UNION介绍
    使用valgrind检查内存
    GDB调试教程
    Linux一些经典书籍
    C++编程语言学习资料
  • 原文地址:https://www.cnblogs.com/buzhizhitong/p/5616212.html
Copyright © 2011-2022 走看看