【python】数据采集快速入门

数据采集

数据采集,就是可以快速的收集数据,自动的,不用人一页一页复制。
这是非常重要的。
下面,我来介绍一下,在python中,如何做到这一点。

urllib

在python中,想要数据采集,就需要使用urllib,这是非常好的。
发送get请求

import urllib.request

# 定义要访问的网址
url = 'http://example.com/'

# 打开网址
response = urllib.request.urlopen(url)

# 读取内容
html = response.read()

# 打印获取的数据
print(html)

发送post请求

import urllib.parse
import urllib.request

# 定义要访问的网址和数据
url = 'http://example.com/login'
values = {'username': 'user', 'password': 'pass'}

# 编码数据
data = urllib.parse.urlencode(values)
data = data.encode('ascii')  # 数据需要编码为 bytes

# 发送请求
request = urllib.request.Request(url, data)
response = urllib.request.urlopen(request)

# 读取响应
html = response.read()

# 打印结果
print(html)

什么是get/post请求

可能有一些萌新,对于get/post请求缺乏认识,下面我来介绍一下,什么是get/post请求。

get请求

GET 请求主要用于从服务器获取数据。它通常用于请求页面、图片、视频等资源,或者根据查询参数检索信息。GET 请求的特点包括:

  • 数据可见性:GET 请求的数据会附加在 URL 上,形式为查询字符串(即 URL 中的 ?key=value 部分),因此数据在浏览器的历史记录、服务器的日志文件中都是可见的。
  • 限制数据长度:由于数据附在 URL 上,大多数浏览器和服务器对 URL 长度有限制,这可能导致数据量大的请求无法通过 GET 发送。
  • 可缓存:GET 请求结果可以被浏览器或代理服务器缓存,以加快相同资源的后续访问速度。
  • 幂等性:理论上,GET 请求是幂等的,意味着多次执行相同的 GET 请求,服务器上的数据不会改变(但是实际上并不总是如此)。

post请求

POST 请求主要用于向服务器提交数据,通常用于表单提交,如用户注册、上传文件等。POST 请求的特点包括:

  • 数据不可见性:POST 请求的数据包含在请求体内,不会显示在 URL 中,这比 GET 更安全。
  • 无限制数据长度:POST 方法将数据放在请求体中,没有数据长度的限制。
  • 不可缓存:POST 请求的响应通常不被缓存,因为它们可以随时修改服务器上的数据。
  • 非幂等性:POST 请求可能不是幂等的,即多次提交同一 POST 请求可能会在服务器上多次创建或修改数据。

如何区分get/post请求

一个网站可能使用get,也可能使用post,需要自己去“抓包“查看。
通常情况下,需要打开浏览器的网络标签,然后看请求究竟是get,还是post的

总结

今天,我们介绍了urllib的使用,这对于数据采集入门的第一步是非常重要的。也需要理解get/post请求的不同。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值