美文网首页数据蛙数据分析每周作业
python 网络爬虫之requests库和Re正则表达式

python 网络爬虫之requests库和Re正则表达式

作者: 木子兜兜 | 来源:发表于2018-12-23 13:08 被阅读15次

            这周学习了python网络爬虫,主要学了requests库,Beautiful Soup库和Re正则表达式的入门,也学习编写了几个简单的爬虫实例。

            网络服务器上的数据都是有产权归属的,网络爬虫获取数据后牟利是有可能带来法律风险的,查看Robots协议即可以知道哪些页面可以抓取,哪些不行,Robots协议保存在网站根目录下的robots.txt文件中。robots协议的基本语法如下:

    ```

    User-agent:*

    Disallow:/

    ```

    #其中*是代表所有,/是表示根目录

            Robots协议是建议但不是约束性,可以不遵守,但是存在法律风险。

            其次要安装需要使用的第三方库,直接用pip install+库名这个命令即可安装,在写代码的时候直接import 库名导入就可以使用了。

    爬取网页主要用到的是requests库,通用代码框架如下:

    正则表达式是用来简洁表达一组字符串的表达式,比如一组字符串'PN','PYN','PYTN','PYTHN,'PYTHON'可以直接用一个正则表达式表示P(Y|YT|YTH|YTHO)?N,非常简洁。

    正则表达式语法由字符和操作符构成,常用的操作符如下:

    e.g.IP地址的正则表达式:

    (([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5]).){3}([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])

    Re库的主要功能函数如下

    e.g.   

    这是搜索字符串中包含以1-9中任一数字开头,后面再有5位数字的子串,以列表形式返回

    另外,Re库默认采用的时贪婪匹配,即输出匹配的最长子串,在操作符后增加?即可变成最小匹配

    e.g.

    相关文章

      网友评论

        本文标题:python 网络爬虫之requests库和Re正则表达式

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