学习爬虫前需要了解哪些基础知识

学习爬虫前需要了解哪些基础知识

游戏|数码彩彩2024-03-29 7:46:15306A+A-
学习爬虫前需要了解哪些基础知识

 

 


 

一、字符串知识点:

bytes:二进制(互联网上数据都是以二进制的方式传输的)

str:unicode编码的呈现形式,常用的实现方式是UTF-8

str转换为bytes的方法:encode()

bytes转换为str的方法:decode()


二、HTTP与HTTPS知识点:

HTTP:超文本传输协议,默认端口号80,性能更好

HTTPS:HTTP+SSL(安全套接字层),默认端口号443,安全性更好


三、爬虫的概念与流程:

爬虫是模拟浏览器发送请求,获取响应

url-->发送请求-->获取响应-->提取url-->提取数据-->保存


四、url的形式:

scheme:协议(http,https,ftp)

host:服务器的IP地址或者域名(www.baidu.com)

port:服务器的端口(80或者443)

path:访问资源的路径,百度搜索爬虫(/s?wd=爬虫&rsv_spt=1&rsv_iqid=0x8d278b16000116e5&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=9&rsv_sug1=8&rsv_sug7=100&rsv_sug2=0&inputT=1138&rsv_sug4=2397)

query-string:参数,发送给http服务器的数据

anchor:锚(跳转到网页的指定锚点位置)

完整的url例子:

https://www.baidu.com/s?wd=爬虫&rsv_spt=1&rsv_iqid=0x8d278b16000116e5&issp=1&f=8&rsv_bp=0&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&rsv_sug3=9&rsv_sug1=8&rsv_sug7=100&rsv_sug2=0&inputT=1138&rsv_sug4=2397


五、HTTP请求头:

打开F12,点击Network,在ALL列表找到访问的Host,查看request-Headers。

Host:主机和端口号

connection:链接类型

Upgrade-Insecure-Requests:一般为1,升级为HTTPS请求

User-Agent:浏览器名称,需要模拟这个

Accept:多个传输文件类型

Accept-Encoding:文件编解码格式

Accept-Language:支持的语言类型


六、响应状态码:

200:成功

302or307:临时转移至新的url

404:相应失败

500:服务器内部错误


七、爬虫基础知识点

1、爬虫是什么:

抓取网页数据的程序。

2、爬虫怎么抓取网页数据:

网页都有自己唯一的URL(统一资源定位符)来进行定位。

网页都是用html(超文本标记语言)来描述页面信息。

网页都是使用HTTP/HTTPS(超文本传输协议)协议来传输HTML数据。

①、首先确定需要爬取的网页URL地址。

②、通过HTTP/HTTPS协议来获取对应的HTML页

③、提取HTML页面里面有用的数据(反复精练处理数据得到目标数据)。

3、如何抓取HTML页面:

①、HTTP请求的处理,urllib、urllib2、requests

②、处理后的请求可以模拟浏览器发送请求、获取服务器响应的文件。

③、解析服务器相应的内容:re,xpath、jsonpath、pyquery等。

使用某一种描述性来给我们需要的数据定义一个匹配规则,

符合这个规则的数据就会被匹配。比如常用的re,正则表达式。

④、如何采集动态HTML、验证码的处理。

通常的动态页面采集:Selenium+PhantomJS(无界面):模拟真实浏览器加载js等非静态数据。

机器学习库,机器图像识别系统:Tesseract,可以处理简单的验证码,复杂的交给打码平台

⑤、Scrapy框架:(Scrapy,Pyspider)

高定制性、高性能(异步网络框架twisted):速度下载快,提供数据存储,数据下载,提取规则等组件。

⑥、分布式策略:scrapy-redis,以Redis数据库为核心的一套组件

让Scrapy框架支持分布式的功能,主要在Redis里做请求指纹去重、请求分配、数据临时存储。

⑦、爬虫-反爬虫-反反爬虫:爬虫最难的就是网站另一边的反爬虫人员。

User-Agent、代理、验证码、动态数据加载、加密数据等。

数据价值是否值得费劲做爬虫,机器成本+人力成本>数据价值,一般能爬出来。

点击这里复制本文地址 版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(https://www.angyang.net.cn)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

昂扬百科 © All Rights Reserved.  渝ICP备2023000803号-3网赚杂谈