zoukankan      html  css  js  c++  java
  • Python爬虫库xPath, BeautifulSoup, re, selenium的详细用法

    使用技术

    • python正则匹配
    • Beautifulsoup4库
    • xpath解析

    正则匹配

    • 和JavaScript语言匹配方式类似
    • 使用前需导入re
    • 有几种正则匹配的方法:match, search, compile, findall, finditer

    re.match(a, b, c)

    • 三个参数: 匹配的规则, 要匹配的字符串, 匹配方式
    • 它是从字符串的第一个位置进行匹配如果满足使用.span()方法可以返回它所在的索引位置, 如果不满足则返回None
    • 返回结果.groups()返回一个包含所有小组的字符串的元组, 使用group(num)方法可以返回一个包含对应值的元组(从1开始)

    re.search(a, b, c)

    • 也是三个参数, 与上面相同
    • 获取元组方法也相同, 唯一的不同点就是, search不是从一开始进行匹配, 而是如果字符串中包含所要匹配的内容, 则返回第一个匹配成功的
    • 注意只返回一个不是多个

    re.sub(a, b, c, d, e)

    • 执行替换操作
    • a正则中的模式字符串
    • b要替换的字符串, 也可以是一个函数
    • c原始字符串
    • d匹配后替换的最大次数, 默认是0表示全部匹配替换
    • e匹配模式, 数字形式

    re.compile(a, b)

    • 用来编译正则表达式, 供match和search这两个函数使用
    • 如果使用的是match方法 在获取匹配的字符时使用group方法获取参数可以省略不写也可以写0
    • group方法参数的数值与你所写的正则表达式元组数有关
    • start, end, span方法都是返回匹配字符在原字符串中所在的索引位置

    https://mp.weixin.qq.com/s/LKC6Hc1bfMVEjU6LZQZk-A

    故乡明
  • 相关阅读:
    Which is best in Python: urllib2, PycURL or mechanize?
    Ruby开源项目介绍(1):octopress——像黑客一样写博客
    Truncated incorrect DOUBLE value解决办法
    Qt Quarterly
    Rich Client Platform教程
    iOS6 中如何获得通讯录访问权限
    省赛热身赛之Javabeans
    [置顶] [开心学php100天]第三天:不羁的PHP文件操作
    hdu2033 人见人爱A+B
    [置顶] AAM算法简介
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/15224515.html
Copyright © 2011-2022 走看看