零基础入坑爬虫—Python网络爬虫的应用实战以及数据采集_爬虫数据采集可以直接读取设备吗

从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用;

图片

2.爬虫的应用

  • 搜索引擎

​ 百度、谷歌等搜索引擎都是基于爬虫技术

​ (PS:爬虫大佬)

  • 采集数据

图片

  • 模拟操作

爬虫也被广泛用于模拟用户操作,测试机器人,灌水机器人等。

  • 软件测试

爬虫之自动化测试虫师

虫师

  • 网络安全

短信轰炸

web漏洞扫描

3.爬虫的基本流程

用户获取网络数据的方式:

方式1:浏览器提交请求—>下载网页代码—>解析成页面

方式2:模拟浏览器发送请求(获取网页代码)->提取有用的数据->存放于数据库或文件中

爬虫要做的就是方式2;
图片

1、发起请求

使用http库向目标站点发起请求,即发送一个Request

Request包含:请求头、请求体等

Request模块缺陷:不能执行JS 和CSS 代码

2、获取响应内容

如果服务器能正常响应,则会得到一个Response

Response包含:html,json,图片,视频等

3、解析内容

解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,pyquery等

解析json数据:json模块

解析二进制数据:以wb的方式写入文件

4、保存数据

数据库(MySQL,Mongdb、Redis)

文件
图片

4.http协议 请求与响应

图片
Request:用户将自己的信息通过浏览器(socket client)发送给服务器(socket server)

Response:服务器接收请求,分析用户发来的请求信息,然后返回数据(返回的数据中可能包含其他链接,如:图片,js,css等)

ps:浏览器在接收Response后,会解析其内容来显示给用户,而爬虫程序在模拟浏览器发送请求然后接收Response后,是要提取其中的有用数据。

5.爬虫实例

利用socket下载一张图片

  1. socket学习

socket国外翻译为插座;同时,由于其具备了“套接"和“字"的概念,所以又称为套接字。
图片
知识补给站

知识补给站:(混个眼熟就行了!)

  1. Socket是一种进程间通信机制提供一种供应用程序
  2. 访问通信协议的操作系统调用,使得网络读写数据
  3. 和读写本地文件一样容易;Socket是一序列的“指令” ;
  4. 已经具备了“套接”(建立网络通讯或进程间通讯)和“字”(可交互的有序指令串)的概念。
    图片
(1)使用socket简单建造一个服务端:
import socket# 服务器对象server = socket.socket()'''等同于:server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)socket.AF_INET:使用IPV4;socket.SOCK_STREAM:创建一个socket套接字。'''

# 1.绑定服务器server.bind(("0.0.0.0",8800))   #0.0.0.0是允许所有人来访问;8800是端口号
# 2.监听server.listen(5)
while True:    # 3.等待连接    # accept是一个阻塞的方法(你不来我就不动!),等待连接,每建立一个连接就会创建一个单独的通道。# conn:通道参数;addr:通道地址。conn,addr=server.accept()
    # 4.接收数据    data=conn.recv(1024)    print(data)
    response="HTTP/1.1 200 OK\r\nContent-Type: text/html;charset=utf-8;\r\n\r\n我很帅!"
    # 5.发送数据    conn.send(response.encode())    print("已经响应")
# 6.关闭server.close()

在本地浏览器中输入:127.0.0.1:8800即可访问到此服务端:
在这里插入图片描述
(2)使用socket简单建造一个客户端:

(爬取百度首页整个界面)

import socket

# 建立服务器对象      通过打印这个client服务器对象可知:默认使用的是IPV4,协议是TCP。
client=socket.socket()


**一、Python所有方向的学习路线**

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

![img](https://img-blog.csdnimg.cn/1d40facda2b84990b8e1743f5487d455.png)  
![img](https://img-blog.csdnimg.cn/0fc11d4a31bd431dbf124f67f1749046.png)

**二、Python必备开发工具**

工具都帮大家整理好了,安装就可直接上手!![img](https://img-blog.csdnimg.cn/ff266f529c6a46c4bc28e5f895dec647.gif#pic_center)

**三、最新Python学习笔记**

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

![img](https://img-blog.csdnimg.cn/6d414e9f494742db8bcc3fa312200539.png)

**四、Python视频合集**

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

![img](https://img-blog.csdnimg.cn/a806d9b941c645858c61d161aec43789.png)

**五、实战案例**

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。![img](https://img-blog.csdnimg.cn/a353983317b14d3c8856824a0d6186c1.png)

**六、面试宝典**

![在这里插入图片描述](https://img-blog.csdnimg.cn/97c454a3e5b4439b8600b50011cc8fe4.png)

![在这里插入图片描述](https://img-blog.csdnimg.cn/111f5462e7df433b981dc2430bb9ad39.png)

###### **简历模板**![在这里插入图片描述](https://img-blog.csdnimg.cn/646863996ac44da8af500c049bb72fbd.png#pic_center)




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值