您的位置首页百科知识

如何用爬虫抓取数据

如何用爬虫抓取数据

的有关信息介绍如下:

如何用爬虫抓取数据

本经验用于介绍爬虫抓取数据的一般性思路,能够解决大部分小型的爬虫需求。

比如我们的需求是获取小编本人的所发布经验的信息:经验的标题+超链接。

(大家可以跟着来一遍,点击右侧作者头像进入即可进入目标爬取页面)

第一步需要做的就是通过当前页面的url连接获取到当前页面的HTML代码。

(比着图片自己打印代码哦,不要偷懒,多练就熟悉啦!)

为了方便展示我们成功获取了页面源代码,我只展示了部分信息。

然后我们想要的所有数据都在爬下来的HTML代码中了,接下来要做的就是解析这段代码,目的是方便我们快速定位其中的内容信息。

解析完代码后我们就可以进行内容定位了。

首先我们要借助浏览器的页面“查看器”来定位目标内容。

在目标页面空白处,“右键”选择“检查元素”。

点击弹出的界面“左上角按钮”。

然后就可以用鼠标去选择你想要定位的页面内容了。

“鼠标”单击目标内容,发现“查看器”自动定位到相关“HTML代码”。

然后我们从这个位置出发,层次向上找,获得与目标内容位置相关的清晰结构:

我们想要获取的内容在:

1. 一个大的section标签下。

2. section标签中的ul标签下

3. ul标签中的li中

因为我们使用BeautifulSoup解析了代码,所以非常容易获取。

我们获取的一般方式就是根据标签名以及他的“class”类名来获取,有时候简单明显可以不用类名。

输出找到的标签li的数目,一致!

然后我们要分析整个“li”,他在页面中表示的就是一个文章展示区域。

在浏览器的“查看器”中先后定位到标题的位置和超链接的位置,发现他们都在一个a标签中,我们的任务就是根据li标签获取a标签就好啦。

然后按照层次结构书写代码。

注意这里返回的url信息和页面显示的不一致,需要手动添加前缀。

至此一个简单的爬虫就完成啦,但是还有一些额外的问题本样例没有遇到:

1. 如何爬取多页的信息?(只要找到url的规律即可)

2. 如何防止爬虫被封死?

3. 如何爬取非HTML页面的信息,比如是Json信息怎么弄?

4. 如何下载图片?

5. ……

还请大家关注支持下,我后续会继续出相关经验哒!

(如果大家想实践一下上述步骤的话,可以尝试爬取百度经验,任意栏目下的精选经验,获取他们的标题和超链接信息试一试哦,多实践才能掌握一个本领嘛~)