Python爬虫很难,那是你没有掌握爬虫的思想,看看年薪百万的大神如何来分析

大家学习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或者学习爬虫的时候遇到这样或那样的问题,没有人可以一起讨论,百度搜索过时了,博客也就那么几个,小编也组建了一个自己的群,希望能够提供大家一个比较好的学习环境,能够帮助到大家的学习。

原文发布于微信公众号 - Python雁横(py_0123)

原文发表时间:2018-04-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

图片转文字居然这么简单,多亏了这几个神器!

我们经常会用手机拍摄、截屏了一大堆图片,领导的PPT、客户的名片、各种文案海报等等…… 想着有空后把资料整理成文字稿,但是一想到要在电脑上把文字打出来,巨大的工...

6539
来自专栏木头编程 - moTzxx

微信公众平台开发[6] —— 微信开发集成类的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

773
来自专栏埋名

最流行的4种前端构建项目工具介绍

In web development we deal with a lot of small technical artifacts. You use HTML...

933
来自专栏轮子工厂

有哪些实用且堪称神器的Chrome插件?吐血推荐!!!

相信很多人都在使用 Chrome 浏览器,其流畅的浏览体验得到了不少用户的偏爱,但流畅只是一方面, Chrome 最大的优势还是其支持众多强大好用的扩展程序(E...

4063
来自专栏Android 开发者

Android P 应用兼容常见错误及建议

1.5K2
来自专栏Python中文社区

Python 3.7.0 版本正式发布,新特性来袭

Python 3.7.0版本已经于美国时间2018年6月27日发布,同时发布的也有Python 3.6.6版本,下面是来自Python官网的通知:

1034
来自专栏非著名程序员

推荐几个适合新人上手的Python项目

752
来自专栏Android群英传

Android核心破解原理详解

1025
来自专栏小俊博客

自适应免费开源主题-Dobby

1243
来自专栏Crossin的编程教室

喜大普奔!Django官方文档终于出中文版了

之前对于 Django 的学习我一直推荐看官方文档,但不得不加上一句“如果你英语水平允许的话……”。现在总算是等来好日子了。各位想向网站/服务器开发方向进阶的同...

1101

扫码关注云+社区