美文网首页
Python爬虫基础教程(二)

Python爬虫基础教程(二)

作者: 小陈工 | 来源:发表于2022-06-13 11:00 被阅读0次

    八、数据提取

    8.1概念:数据提取就是从响应中获取我们想要的数据的过程

    8.2分类:

            1.非结构化的数据:html等

               处理方法:正则表达式,xpath

            2.结构化数据:json、xml等

               处理方法:转化为Python数据类型

    8.3数据提取之json:

            1.概念:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。

                        同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。

            2.如何找到返回json的url:使用chrome切换到手机页面

            3.json的转换图示:

                注意:具有read()或者write()方法的对象就是类文件对象

                           f = open(“a.txt”,”r”) f就是类文件对象

    8.4使用retrying包对程序进行多次执行:

               1.安装:pip install retrying

                2.使用方法:@retry(stop_max_attempt_number=3) 

                                    装饰器格式,设置最大重试次数

    8.5豆瓣爬虫实例:

    8.6正则表达式

         1.概念:用事先定义好的一些特定字符、及这些特定字符的组合,

                      组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑。

         2.常用正则表达式的方法:

                      re.compile(编译)

                      pattern.match(从头找一个)

                      pattern.search(找一个)

    pattern.findall(找所有)

                      pattern.sub(替换)

        3.正则表达式的规则:

         4.原始字符串r的使用:

                    a.原始字符串定义(raw string):所有的字符串都是直接按照字面的意思来使用,

                       没有转义特殊或不能打印的字符,原始字符串往往针对特殊字符而言。

                    b.使用示例:

    8.7内涵段子爬虫实例:

    8.8 XPATH和LXML类库

          1.为什么要学习XPATH和LXML类库:

                    lxml是一款高性能的 Python HTML/XML 解析器,

                    我们可以利用XPath,来快速的定位特定元素以及获取节点信息

          2.什么是XPATH:

                    XPath (XML Path Language) 是一门在 HTML\XML 文档中查找信息的语言,

                    可用来在 HTML\XML 文档中对元素和属性进行遍历。

         3.XML和HTML的概念:

        4.XML的节点关系:

        5.XPATH的节点选择工具:

                 1.Chrome插件 XPath Helper

                 2.开源的XPath表达式编辑工具,XMLQuire(XML格式文件可用) 

                 3.Firefox插件 XPath Checker

        6.XPATH节点选择语法:

                 a.通用语法如下图所示:

                b.查找某个特定的节点或者包含某个指定的值的节点语法如下图:

                c.选择未知节点语法如下图:

                d.选取若干路径语法如下:

        7.lxml库的使用:

                a.初步使用:

                  导入lxml的etree库:

                            from lxml import etree 

                   利用etree.HTML,将字符串转化为Element对象,Element对象具有xpath的方法:     

                            html = etree.HTML(text)

                   注意:lxml 可以自动修正 html 代码

        8.贴吧爬虫实例,爬取某个贴吧所有帖子的标题和图片      

    相关文章

      网友评论

          本文标题:Python爬虫基础教程(二)

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