大家学习Python爬虫可能会遇到各种各样的问题,那么在遇到这些问题的时候,我们应该如何去解决呢?
我们大神们通常有一种解决思路(或者说是流程),如果你看到有些大神直接跳过了这些流程,是因为它一眼就能够分析出这一步需不需要(也就是说,其实他还是思考过这一个步骤的,只是思考之后迅速排出了而已。)
作为普通人的我们,那就需要去一步一步的按规矩来分析,排除,等你能够一眼排除的时候,你或许也就离大神不远了。
1.什么是爬虫
爬虫,即网络爬虫,大家可以理解为在网络上爬行的一只蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你来控制它咯。
比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。这样,整个连在一起的大网对这之蜘蛛来说触手可及,分分钟爬下来不是事儿。
2.浏览网页的过程
在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 http://novel.tanzhouvip.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTML、JS、CSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了。
因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些 HTML 代码,实现对图片、文字等资源的获取。
3.URL的含义
URL,即统一资源定位符,也就是我们说的网址,统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
URL的格式由三部分组成:
①第一部分是协议(或称为服务方式)。
http:// https:// ftp:// file://
②第二部分是存有该资源的主机IP地址(有时也包括端口号)。
127.0.0.1 www.tanzhouedu.com
baidu.tk
顶级域名,一级域名,根域名:除了后缀以外只有一个点号
www.baidu.com 二级域名
com baidu.com cn baidu.cn shanfeng.club
com.cn org.cn
baidu.com.cn
顶级域名baidu.com baidu.com.cn
二级域名www.baidu.com mp3.baidu.com
三级域名a.b.baidu.com
③第三部分是主机资源的具体地址,如目录和文件名等。
爬虫爬取数据时必须要有一个目标的URL才可以获取数据,因此,它是爬虫获取数据的基本依据,准确理解它的含义对爬虫学习有很大帮助。
4. 环境的配置
学习Python,当然少不了环境的配置,该课程使用的Python版本为Python2.7.9,开发工具为pycharm
5.爬虫的重要思想
1,理论上来讲只要是网页上面能够看到的数据都是可以爬取的(因为所有看到的网页上的数据都是由服务器发送到我们电脑上面的,只是有的数据加密过,很难解密)
2,在网页上无法看到或者无法获取的数据,爬虫同样不可能拿到,比如一些付费资料
3,分析页面数据的原则是从简到繁,从易到难
1)直接通过网页源代码获取
2)分析是否为ajax异步加载
3)数据是否被加密 js
作者:Python雁横
大家可能在学习Python或者学习爬虫的时候遇到这样或那样的问题,没有人可以一起讨论,百度搜索过时了,博客也就那么几个,小编也组建了一个自己的群,希望能够提供大家一个比较好的学习环境,能够帮助到大家的学习。