爬虫是一个模拟人类请求网站行为的程序。可以自动请求网页、并把数据抓取下来,然后使用一定的规则提取有价值的数据。
1、搜索引擎(百度或谷歌等)
2、伯乐在线。
3、惠惠购物助手。
4、数据分析(瓜子二手车分析车辆保值情况)
5、抢票软件等。
1、3.6版本以上的python
2、Pycharm2019 社区版
3、Chrome软件、73以上的版本
(https://www.google.com/chrome/)
HTTP、HTML、HTTPS
HTTP协议(HyperText Transfer Protocol, 超文本传输协议)是一种发布和接收HTML (HyperText Markup Language, 超文本标记语言)页面的方法,服务器端口号是80端口。HTTPS协议:是HTTP协议的加密版本,在HTTP下加入了SSL层,服务器端口号为443端口。
一个URL(Uniform Resource Locator,统一资源定位符)由以下几个部分组成:
scheme://host:port/path/?query-string=xxx#anchor
1、scheme: 代表的是访问的协议,一般为http或者https以及ftp等。
2、host: 主机名、域名,比如www.baidu.com。
3、port: 端口号。当你访问一个网站的时候,浏览器默认使用80端口。
4、path: 查找路径。比如:www.jianshu.com/trending/now, 后面的trending/now就是path。
5、query-string: 查询字符串,比如:www.baidu.com/s?wd=python, 后面的wd=python就是查询字符串。
举个小例子,下面这个URL中选中的部分就是查询字符串。
6、anchor: 锚点,前端用来做页面定位的。现在一些前后端分离项目,也用锚点来做导航。
在浏览器中请求一个url,浏览器会对这个url进行一个编码。除英文字母、数字和部分符号外,其他的全部使用百分号+十六进制码制进行编码。
在HTTP协议中,定义了八种请求方法。其中两个比较常用的请求方法,分别是get请求和post请求。
get请求,只从服务器获取数据下来,并不会对服务器资源产生什么影响。
post请求,向服务器发送数上传文件等,会对服务器资源产生影响。
客户端或者浏览器想要跟服务器进行数据的交互,必须选择一种交互的方式。
假如服务器在定义某一个URL的时候,定义好了在使用这个URL的时候必须使用get请求。客户端(爬虫或者浏览器)在向服务器请求时必须使用get请求,所以具体用什么请求要看服务器对这个URL的规定。
现在的一些网站的反爬虫的手段:
一个应该用get方法的请求改成了用post请求。