爬虫学习笔记分享Python高级爬虫实战-系统掌握破解反爬技能

289 阅读3分钟

Download:学习笔记 提取码:pakq

这是一篇详细介绍 Python 爬虫入门的教程,从实战出发,适合初学者。读者只需在阅读过程紧跟文章思路,理清相应的实现代码,30 分钟即可学会编写简单的 Python 爬虫。

  这篇 Python 爬虫教程主要讲解以下 5 部分内容:

  了解网页;

  使用 requests 库抓取网站数据;

  使用 Beautiful Soup 解析网页;

  清洗和组织数据;

  爬虫攻防战;

  以中国旅游网首页()为例,抓取中国旅游网首页首条信息(标题和链接),数据以明文的形式出面在源码中。在中国旅游网首页,按快捷键【Ctrl+U】打开源码页面,如图 1 所示。

  图 1 中国旅游网首页源码网页一般由三部分组成,分别是 HTML(超文本标记语言)、CSS(层叠样式表)和 JScript(活动脚本语言)。

  HTMLHTML 是整个网页的结构,相当于整个网站的框架。带“<”、“>”符号的都是属于 HTML 的标签,并且标签都是成对出现的。

  常见的标签如下:

  .. 表示标记中间的元素是网页

  .. 表示用户可见的内容

  

..
表示框架

  

..

表示段落

  

  • ..
  • 表示列表

      ..表示图片

      

    ..

    表示标题

      <a href=www.360doc.com/content/19/…..表示超链接

      CSSCSS 表示样式,图 1 中第 13 行<style type="text/css">表示下面引用一个 CSS,在 CSS 中定义了外观。

      JScriptJScript 表示功能。交互的内容和各种特效都在 JScript 中,JScript 描述了网站中的各种功能。

      如果用人体来比喻,HTML 是人的骨架,并且定义了人的嘴巴、眼睛、耳朵等要长在哪里。CSS 是人的外观细节,如嘴巴长什么样子,眼睛是双眼皮还是单眼皮,是大眼睛还是小眼睛,皮肤是黑色的还是白色的等。JScript 表示人的技能,例如跳舞、唱歌或者演奏乐器等。

      通过编写和修改 HTML,可以更好地理解 HTML。首先打开一个记事本,然后输入下面的内容:

      

      

       Python 3 爬虫与数据清洗入门与实战

      

      

      

      

    Python 3爬虫与数据清洗入门与实战

      

      

      

      

      

      输入代码后,保存记事本,然后修改文件名和后缀名为"HTML.html";

      运行该文件后的效果,如图 2 所示。

      图 2

      这段代码只是用到了 HTML,读者可以自行修改代码中的中文,然后观察其变化。

      几乎每一个网站都有一个名为 robots.txt 的文档,当然也有部分网站没有设定 robots.txt。对于没有设定 robots.txt 的网站可以通过网络爬虫获取没有口令加密的数据,也就是该网站所有页面数据都可以爬取。如果网站有 robots.txt 文档,就要判断是否有禁止访客获取的数据。

      以淘宝网为例,在浏览器中访问 www.taobao.com/robots.txt,… 3 所示。

      图 3 淘宝网的robots.txt文件内容

      淘宝网允许部分爬虫访问它的部分路径,而对于没有得到允许的用户,则全部禁止爬取,代码如下:

      User-Agent:*

      Disallow:/

      这一句代码的意思是除前面指定的爬虫外,不允许其他爬虫爬取任何数据。

      首先在 PyCharm 中安装 requests 库,为此打开 PyCharm,单击“File”(文件)菜单,选择“Setting for New Projects...”命令,如图 4 所示。

      图 4

      选择“Project Interpreter”(项目编译器)命令,确认当前选择的编译器,然后单击右上角的加号,如图 5 所示。

      图 5

      在搜索框输入:requests(注意,一定要输入完整,不然容易出错),然后单击左下角的“Install Package”(安装库)按钮。