一、什么是爬虫?
将爬虫程序简单理解成类似于百度搜索引擎的东西
1.通俗来说,就是你手动操作窗口,输入数据等等的操作用程序来代替,用程序获取你想要的信息。或者(能够自动访问互联网并将网站内容下载下来的的程序或脚本。)
2.教学版来说,网络爬虫就是将网络上的所有网站数据,通过一种实时运行在网络程序上的程序,访问并且复制这些数据摘要内容,存放在自己的服务器中,方便搜索引擎的用户可以快捷的从这些摘要内容中检索到自己需要的数据,然后引导用户从摘要内容转发链接到实际内容的访问过程。
爬虫程序:就是一种实时运行在网络上的程序[可以使用任何语言编写,python更加专业]
1. 备份镜像:复制网络数据的摘要内容
2.内容索引:可以从备份镜像数据中,快速检索需要的内容
3.内容导向:从用户搜索的摘要内容,指引用户访问真实的实时内容的过程
二、爬虫能做什么?
从网页中爬取数据,这些数据可以是网页代码、图片、视频、音频等等,只要是浏览器网页中呈现的,都可以通过爬虫程序获取。
三、为什么要用爬虫?
因为数据采集,一般情况下不会是少量数据的定向采集(少量数据定向采集可以使用迅雷、整站保存等方式),通常会是大量网站大量数据的采集,然后对于这些大量数据进行筛选分析。所以通常情况下,如果是针对性的大量数据的采集工作,我们会使用爬虫程序进行自动化操作。
四、请求的完整操作过程
协议:
1.http协议是超文本传输协议,默认端口:80
2.https:协议是提供安全通道的协议,常用端口是:443
(1)、请求路径 (GET和POST请求)
访问某个网站的url 路径
(2)、请求头
request header
用来描述一个请求对象的类(like)字典数据
描述请求从哪里发起
描述请求要访问的主机地址
描述请求的格式
描述请求的数据类型
(3)、响应头
response header
描述一个响应对象的类字典数据
描述响应的内容编码
描述响应的内容长度
描述远程服务器的信息
(4)、HTTP状态码
我们在发起请求后,服务器返回的状态码
400:发起请求的url地址有错误
401:请求需要验证
402:状态码为了将来可能的需求而预留
403:请求拒绝
404:请求失败
408:请求超时
4开头的:请求出现问题
5开头的:服务器内部错误
2开头的e:正常响应
五、爬虫的实现过程
#-*- coding:utf-8-*-
#导入python2内置的系统工具库
import urllib2urll
# url 作为要爬取信息的URL地址,假如https://www.jianshu.com/
url = "https://www.jianshu.com/"
#得到数据响应 urlopen 是urllib2内置的函数 用于读取网页信息
response = urllib2.urlopen(url)
content = response.read()
#response内置了一个read()函数
print(content)
#将读取到的数据写入指定文件中 with open() 括号内为文件夹路径
with open("D:/homework/jianshu.txt") as f:
f.write(content)