学习爬虫总结(一)

      作为一名大三狗,以前的两年似乎也没有坚持学习什么。现在我决定我要每天坚持学一点东西,来提升自己。爬虫这个名词第一次出现在我的印象中是学习中国大学MOOC里面的python语言程序设计慕课,那时候我对爬虫并不了解,也没有学习的兴趣。最近在看一些有关信息安全的书,发现网上的数据对我们来说很重要,于是对爬虫产生了一定的兴趣。希望我可以一直坚持下去。

       网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。通俗一点说就是爬取某个网站上的你想要的某些数据,然后保存起来。

      爬虫主要使用的是java和python语言,java语言是Python语言写爬虫的最大竞争对手。Python与java相比有很多优点,利用python写爬虫程序比较简洁,高效。python含有第三方urllib库,一个最基本的网络请求库,是用来写爬虫的好工具。学习用Python语言爬虫必须要对python的基本语法规则要有一定的了解。我在大一寒假的时候学习过python语言的一些基本语法知识,当时还照着书做过一个用python语言写的游戏。差不多都一年半没碰过python语言,我在图书馆找了一本《一天学会python》的书,用了两个多小时看完了,对Python语言的一些基本语法规则及使用更加熟悉了。然后我就开始了我的爬虫之旅。

开始爬虫之前有些基础知识必须知道,这些知识是爬虫必须知道的基础知识:

1、http协议:超文本传输协议,一种发布和接收HTML页面的方法,80端口,浏览器一般默认的都是80端口

2、https协议:http协议的加密版本,在http下加入ssl层,443端口

3、URL详解:统一资源定位符(就是浏览器上方的网址)一个URL一般由以下几个部分组成:

scheme://host:port/path/?query-sting=xxx#anchor

scheme:协议一般为http、https、ftp

host:主机名或者域名例如www.baidu.com或者IP地址,域名是IP地址的简称

port:端口号,浏览器一般默认80端口

path:查找路径

query-sting=xxx:查询字符串例如wd=python

anchor:锚点,前端用来做页面定位

在浏览器中请求一个URL,浏览器会对URL进行一个编码,除英文,数字和部分符号外,其他的全部使用百分号+十六进制码值进行编码。在urllib库里面有urlencode()函数对中文,符号进行编码,parse_qs()函数对中文、符号进行解码。

4、http常用请求方法:

post:向服务器发送数据、上传数据,对服务器产生影响

get:只能从服务器获取数据,不会对服务器产生影响

http请求方法详解

5、http协议常见响应状态码

200: 请求正常,服务器正常返回(数据不一定正确)

301:永久重定向

302:临时重定向

400:请求的URL找不到,URL错误

403:服务器拒绝访问

404:not found

500:内部服务器错误

更多http协议状态码

6、http协议请求头常见参数

在http协议中向服务器发送一个请求数据分为三部分,第一部分把数据放在url中,第二部分把数据放在body中,第三部分把数据放到head中。

user-agent:浏览器名称

referer:表明当前这个请求从哪个url过来

cookie:http协议是无状态的

7、爬虫协议

用爬虫爬取网站,需要听取网站的爬虫协议,有的可以爬,有的不能爬。在网站的域名后面加上robots.txt。如果出现404,可以随心所欲爬取。

user-agent:* 这个字段的意思是允许哪个引擎的爬虫获取数据,*代表所有类型的爬虫都可以

disallow:/admin/ 这个字段代表爬虫不允许爬那个路径下面的数据,如果是/的话,就代表所有路径下面的数据都不能爬

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值