零基础小白如何入门 Python 爬虫?

想要入门Python 爬虫首先需要解决四个问题

    · 熟悉python编程

    · 了解HTML

    · 了解网络爬虫的基本原理

    · 学习使用python爬虫库

一、你应该知道什么是爬虫?

    网络爬虫,其实叫作网络数据采集更容易理解。

    就是通过编程向网络服务器请求数据(HTML表单),然后解析HTML,提取出自己想要的数据。

    归纳为四大步:

    00001. 根据url获取HTML数据

    00002. 解析HTML,获取目标信息

    00003. 存储数据

    00004. 重复第一步

    这会涉及到数据库、网络服务器、HTTP协议、HTML、数据科学、网络安全、图像处理等非常多的内容。但对于初学者而言,并不需要掌握这么多。

          二、python要学习到什么程度

    如果你不懂python,那么需要先学习python这门非常easy的语言(相对其它语言而言)。

    编程语言基础语法无非是数据类型、数据结构、运算符、逻辑结构、函数、文件IO、错误处理这些,学起来会显枯燥但并不难。

    刚开始入门爬虫,你甚至不需要去学习python的类、多线程、模块之类的略难内容。找一个面向初学者的教材或者网络教程,花个十几天功夫,就能对python基础有个三四分的认识了,这时候你可以玩玩爬虫喽!

    先说下python入门,实在是太容易了,因为语法简单,思维与人类的思维很相近。入门的时候,别整天想着看很多资料,网上各种找,最后都留在了收藏夹吃灰。其实对于刚接触编程的小白而言,最容易卡在安装Python环境和实操代码这一步。建议一开始先试试一些学习网站的免费课程,大概了解下Python的基础知识,打好扎实的基础后再上手学爬虫。如果毫无基础可言,甚至不知道如何下载Python,那我推荐下面这个免费课程↓ 不用安装环境,直接在网页上学习代码实操,基础知识配实战,这样学起来更容易:

    当然,前提是你必须在这十几天里认真敲代码,反复咀嚼语法逻辑,比如列表、字典、字符串、if语句、for循环等最核心的东西都得捻熟于心、于手。

    教材方面比较多选择,我个人是比较推荐python官方文档以及python简明教程,前者比较系统丰富、后者会更简练。

             三、为什么要懂HTML

    前面说到过爬虫要爬取的数据藏在网页里面的HTML里面的数据,有点绕哈!

    维基百科是这样解释HTML的

    总结一下,HTML是一种用于创建网页的标记语言,里面嵌入了文本、图像等数据,可以被浏览器读取,并渲染成我们看到的网页样子。

    所以我们才会从先爬取HTML,再 解析数据,因为数据藏在HTML里。

    学习HTML并不难,它并不是编程语言,你只需要熟悉它的标记规则,这里大致讲一下。

    HTML标记包含标签(及其属性)、基于字符的数据类型、字符引用和实体引用等几个关键部分。

    HTML标签是最常见的,通常成对出现,比如<h1>与h1>。

    这些成对出现的标签中,第一个标签是开始标签,第二个标签是结束标签。两个标签之间为元素的内容(文本、图像等),有些标签没有内容,为空元素,如<img>。

    以下是一个经典的Hello World程序的例子:

    HTML文档由嵌套的HTML元素构成。它们用HTML标签表示,包含于尖括号中,如<p>[56]

    在一般情况下,一个元素由一对标签表示:“开始标签”<p>与“结束标签”p>。元素如果含有      文本内容,就被放置在这些标签之间。

           四、了解python网络爬虫的基本原理

    在编写python爬虫程序时,只需要做以下两件事:

   · 发送GET请求,获取HTML

   · 解析HTML,获取数据

    这两件事,python都有相应的库帮你去做,你只需要知道如何去用它们就可以了。

          五、用python库爬取百度首页标题和图片

    首先,发送HTML数据请求可以使用python内置库urllib,该库有一个urlopen函数,可以根据      url获取HTML文件,这里尝试获取百度首页“https://www.baidu.com/”的HTML内容

    我们看一下真正百度首页html是什么样的,如果你用的是谷歌浏览器,在百度主页打开设置>更多工具>开发者工具,点击element,就可以看到了:

    对比一下你就会知道,刚才通过python程序获取到的HTML和网页中的一样!

    获取了HTML之后,接下就要解析HTML了,因为你想要的文本、图片、视频都藏在HTML里,你需要通过某种手段提取需要的数据。

    python同样提供了非常多且强大的库来帮助你解析HTML,这里以著名的python库    BeautifulSoup为工具来解析上面已经获取的HTML。

    BeautifulSoup是第三方库,需要安装使用。在命令行用pip安装就可以了:

BeautifulSoup会将HTML内容转换成结构化内容,你只要从结构化标签里面提取数据就OK了:

比如,我想获取百度首页的标题“百度一下,我就知道”,怎么办呢?

这个标题是被两个标签套住的,一个是一级标签,另一个是二级标签

原文链接:http://consult.kguagua.com/pc/431b26754adc4aa5b23c65df675a4927.html?id=56

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值