一、学习分布式python网络爬虫第一天

1~3天学习目录

  1. 爬虫基础
  2. urllib库基本使用
  3. requests库基本使用

爬虫基础知识

1.什么是爬虫

爬虫是一个模拟人类请求网站行为的程序,可以自动请求网页,并把数据爬取下来,然后用一定的规则提取有价值的数据。

2.爬虫的应用场景

a. 搜索引擎(百度等)
b. 数据分析
c. 抢票软件等

3.为什么要用python写爬虫

python语法优美、代码简洁、开发效率高、支持的模块多,相关的HTTP请求模块和HTML解析模块非常丰富,还有scrapy和scrapy_redis框架让我们开发爬虫变得异常简单。

4.HTTP协议介绍

HTTP协议:超文本传输协议,是一种发布和接收HTML页面的方法。服务器端口号是80端口。(美团网站)
HTTPS协议:是HTTP协议的加密版本,在HTTP下添加了SSL层。服务器端口号是443端口。(简书网站)

5.URL(统一资源定位器)详解

scheme://host:port/path/?query-string=xxx#anchor
a. scheme:代表的是访问的协议,一般为http,https,ftp等。
b. host:主机名,域名。
c. port:端口号,当你访问一个网站的时候,浏览器默认使用80端口。
d. path:查找路径。
e. query-string:查询字符串。
f. anchor:锚点,前端用来做页面定位的,现在一些前后端分离项目也用锚点来做导航。
补充:在浏览器中请求一个url时,浏览器会对这个url进行一个编码。

6.常见的请求method

a. get:一般情况下,只从服务器获取数据下来,并不会对服务器资源产生任何影响的时候使用。
b. post:向服务器发送数据、上传文件等,会对服务器资源产生影响的时候使用。

7.常见的请求头参数

在http协议中,向服务器发送一个请求,数据分为三部分:

  1. 把数据放在url中。
  2. 把数据放在body中(post请求)。
  3. 把数据放在head中。
    网络爬虫中经常会用到的一些请求头参数:
  4. User-Agent:浏览器名称。
  5. Referer:表明当前这个请求是从哪个url过来的。一般用来做反爬虫技术,如果不是从指定页面过来的,那么就不做相应的响应。
  6. Cookie:http协议是无状态的,也就是同一个人发送了两次请求,服务器没有能力知道这两个请求是否来自同一个人,因此这时候就用cookie来做标识。一般用来做登陆后才能访问的网站。

8.常见的响应状态码

  1. 200:请求正常,服务器正常返回数据。
  2. 301:永久重定向。比如在访问www.jingdong.com的时候会重定向到www.jd.com。
  3. 302:临时重定向。比如在访问一个需要登陆的页面时,若没有登陆,则会重定向到登陆页面。
  4. 404:请求的url不存在。
  5. 403:服务器拒绝访问,权限不够。
  6. 500:服务器内部错误,可能是服务器出bug了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章