爬虫基本原理

本文详细介绍了爬虫的工作原理,从确定URL到解析HTML,再到反爬虫对策,如伪装Headers、使用代理IP。还讨论了数据处理方法,包括解析HTML、JSON、图片和视频,以及如何保存不同格式的数据到数据库或文件。
摘要由CSDN通过智能技术生成

爬虫爬取网页数据的过程

网页三大特征

  1. 网页都有自己唯一的URL(统一资源定位符)来进行定位;
  2. 网页都是使用HTML(超文本标记语言)来描述页面信息;
  3. 网页都使用HTTP/HTTPS协议来传输HTML数据;

爬虫的设计思路

1.首先确定需要爬取网页URL地址
2.通过HTTP/HTTPS协议来获取相应的HTML页面
3.提取HTML页面里有用的数据
a.如果是需要的数据就保存起来
b.如果是页面里的其他URL,那就继续执行第二步。

爬虫基本流程

发起请求
通过HTTP库向目标站点发起请求,就是发送一个Request,请求可以包含额外的header等信息,等待服务器的响应
获取响应内容
如果服务器正常响应,会得到一个Reponse,Reponse的内容便是所要获取的页面内容,类型可能有HTML,json字符串,二进制数据(如图片视频)等类型。
解析内容
得到的内容可能是HTML,可以用正则表达式,网页解析库进行解析,可能是json,可以直接转为JSON解析对象解析,可能是二进制数据,可以做保存或者进一步处理。
保存数据
保存的形式多种多样,可以保存成文本,也可以保存到数据库,或者保存特定格式文件

反爬虫机制与对策

1 通过分析用户请求的Headers信息进行反爬虫。网站中应用的最多
2通过验证用户行为进行反爬虫,不如通过判断同一个ip在短时间内是否频繁访问对应网站等进行分析。
3通过动态页面增加爬取的难度,达到反爬虫目的。

对策

1 在爬虫中构造这些用户请求的headers信息,以此将爬虫伪装成浏览器
2 使用代理服务器并经常切换代理服务器方式,一般就能够攻克限制。
3.利用一些软件,比如selenium+phantomJS就可以攻克

反爬虫的手段 :user-agent、代理、验证码、动态数据加载、加密数据

数据的选择与处理

1 网页文本 如HTML文档 json格式文本
2.图片 获取到的是二进制文件保存为图片格式
3.视频 获取的二进制文件保存为视频格式即可
4.其他 只要能请求到的,都能获取

解析方式

1 直接处理
2 json解析
3 正则表达式
4 BeautifulSoup
5 PyQuery
6 XPath

怎么解决JavaScript渲染问题

1 分析Ajax
2 Selenium、WebDriver
3.Splash
4. PyV8、Ghost.py

怎么保存数据

1 文本: 纯文本 、json Xml等
2, 关系型数据库 如mysql 、oracle sql sever等具有结构形式存储
3. 非关系型数据库 如 MongDB、Redis等key-value形式存储
4. 二进制文件 如图片、视频、音频等直接保存特定的格式

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值