美文网首页
数据提取方法

数据提取方法

作者: 康凯_7f06 | 来源:发表于2019-03-24 19:15 被阅读0次

    1.json处理

        json.loads(json_str):将json字符串转换为Python对象

        json.dumps(str):将Python对象转换为json字符串

        json.load():将类json文件转换为Python对象

        json.dump():将Python对象转换为类json字符串

        注:json的字符串必须用双引号,如果不是的话可以用replace替换后再操作;一个json文件中只能有一个json

    2.正则表达式

        re.compile(r):对正则表达式进行编译

        re.match(r, str):匹配第一个符合的内容

        re.search(r, str):找到一个

        re.findall(r,str):找到所有符合的内容,返回一个列表

        re.sub(要替换的内容,替换后的内容,str)

        注:1).无法匹配\n,添加re.DOTALL或re.S后可匹配

               2)原生字符串,使用r可以忽略转义符的影响,还可以用在Windows系统中的文件路径

    3.Xpath

    xpath中.表示当前节点,..表示当前节点的父节点

    中文文档

        1.xpath在在爬虫获得的内容中使用和浏览器中的element可能会有区别

        2.关于文本的使用

            1)a/text():获取a中的文本

            2)a//text():获取a下所有的文本,包括a中标签下的文本

            3)//a[text()='文本']:获取符合文本内容的所有a

        3.@符号的使用

            1)a/@href:获取a的href属性

            2)//a[@id="title"]:获取id属性为title的所有a

            3)//a[contains(@class, 'i')]:class属性包含i的所有a

        4.//的使用

            1)//a:直接定位所有的a

            2)a//b:a下的b标签

        注:chrome浏览器中可以按装xpath helper使用xpath

    4.Python中使用xpath,lxml库

        安装:pip install lxml

        使用:

            1)from lxml import etree

            2) 使用etree.HTML(str)将字符串转换为Element对象

            3)element对象可以调用xpath进行筛选数据

            注:1)etree.HTML可以接收str或byts作为参数

                   2)lxml会修正HTML代码,但可能会修改错误,可以使用etree.tostring()观察修改后的html文档,然后根据修改后的html内容写xpath语句

                   3)在提取数据时可以先进行分组,然后在对每个分组进行数据提取,以免数据错乱

    相关文章

      网友评论

          本文标题:数据提取方法

          本文链接:https://www.haomeiwen.com/subject/mrouvqtx.html