Python爬虫快速入门指南

434 篇文章 9 订阅
346 篇文章 4 订阅

笔者近期需要使用爬虫技术来爬取某网页上的数据,因此学习了一下Python爬虫技术,正好最近也在学习Javaweb和spring相关技术,借此过程巩固一下相关基础知识。

1 了解基础知识

①Http基础原理
相关定义:URL、port、query、path…

HTTP和HTTPS的区别?SSL?

客户端的服务器请求-响应的过程?

什么是请求?响应?它们的组成-请求头、请求体?

使用网页开发者工具,查看请求/响应的详细过程、相关参数。

②Web网页基础
网页的组成?HTML、CSS、JavaScript?

网页的节点和节点间的关系(解析和提取我们目标内容的关键基础知识)

③爬虫的基本原理
爬虫:获取网页并提取和保存信息的自动化程序
在这里插入图片描述
④Session和Cookie
Http的无状态

理解目前网页是动态的,区别于静态html

动态网页需要Session和Cookie,Session和Cookie的基本概念

会话Cookie和持久Cookie

⑤代理的基本原理
为什么需要代理?

常见的代理有哪些?

⑥多线程和多进程的基本原理
理解线程和进程

并发和并行

为什么使用多线程?

2 开始基本库的使用

掌握了第1节中的基础知识,就可以从写简单的爬虫程序开始,逐步深入了解爬虫的原理、使用、案例,最终实现我们的目标工作。

首先,安装配置好Python3环境,并使用pip工具安装相关类库

这里介绍一个requests库

requests库的使用

1 发送get请求,将返回结果转化为JSON格式的字典

import requests
​
​
​
data = {'name': 'germey', 'age': '25'}
​
r = requests.post("https://www.httpbin.org/post", data=data)
​
print(r.text)
​
print(r.json())

结果:

{
  "args": {},
  "data": "",
  "files": {},
  "form": {
    "age": "25",
    "name": "germey"
  },
  "headers": {
    "Accept": "*/*",
    "Accept-Encoding": "gzip, deflate",
    "Content-Length": "18",
    "Content-Type": "application/x-www-form-urlencoded",
    "Host": "www.httpbin.org",
    "User-Agent": "python-requests/2.28.1",
    "X-Amzn-Trace-Id": "Root=1-632feafa-1e67dd967da4a55216a9fd7e"
  },
  "json": null,
  "origin": "27.17.104.42",
  "url": "https://www.httpbin.org/post"
}
​
{'args': {}, 'data': '', 'files': {}, 'form': {'age': '25', 'name': 'germey'}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Content-Length': '18', 'Content-Type': 'application/x-www-form-urlencoded', 'Host': 'www.httpbin.org', 'User-Agent': 'python-requests/2.28.1', 'X-Amzn-Trace-Id': 'Root=1-632feafa-1e67dd967da4a55216a9fd7e'}, 'json': None, 'origin': '27.17.104.42', 'url': 'https://www.httpbin.org/post'}
<class 'dict'>

2 使用正则表达式,抓取网页特定的文本

import requests
​
import re
​
​
​
r = requests.get('https://ssr1.scrape.center/')
​
pattern = re.compile('<h2.*?>(.*?)</h2>', re.S)
​
titles = re.findall(pattern, r.text)
​
print(titles)

结果:

[‘霸王别姬 - Farewell My Concubine’, ‘这个杀手不太冷 - Léon’, ‘肖申克的救赎 - The Shawshank Redemption’, ‘泰坦尼克号 - Titanic’, ‘罗马假日 - Roman Holiday’, ‘唐伯虎点秋香 - Flirting Scholar’, ‘乱世佳人 - Gone with the Wind’, ‘喜剧之王 - The King of Comedy’, ‘楚门的世界 - The Truman Show’, ‘狮子王 - The Lion King’]
在这里插入图片描述
3 爬取图像、视频、音频的方式

import requests
​
​
​
r = requests.get('https://scrape.center/favicon.ico')
​
with open('favicon.ico','wb') as f:
​
  f.write(r.content)

运行结果:
在这里插入图片描述

正则表达式

通过request库的学习我们已经可以获取网页的源代码,正则表达式就是从源代码中获取我们的目标字符串的工具。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

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

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

二、Python必备开发工具

在这里插入图片描述

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。在这里插入图片描述
上述这份完整版的Python全套学习资料已经上传CSDN官方,如果需要可以微信扫描下方CSDN官方认证二维码 即可领取

👉[[CSDN大礼包:《python安装包&全套学习资料》免费分享]]安全链接,放心点击

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值