当前位置: 首页 > article >正文

【数据处理】使用python收集网络数据--爬虫基础

我们经常需要获取大量的网络数据用于分析,靠人工获取效率太低,所以用代码获取成为大多数人的主要选择,这里简单介绍下使用python进行网络数据爬取的方法

数据获取

由于我们没有各个平台的内部数据和接口,要想获取数据只能从网页端或app端进行查询,其实我们人眼看网页,是网页在调用接口,使用爬虫时,是代码在获取前端接口,本质都是一样的;不同的地方在于,人使用网页查看时,查阅速度较慢,对服务器不会产生较大的影响,而代码爬虫时,获取接口速度较快,容易对服务器产生压力。所以我们在使用爬虫时,注意避免使用多线程和循环爬取数据。
这里我们以获取百度热搜为例:
在这里插入图片描述
打开百度首页即可看到热搜,我们F12打开控制台,并刷新页面,让其重新加载,可以看到这里加载了不少接口和资源文件
在这里插入图片描述
我们可以查看下各个接口和资源文件,可以发现热搜这些都直接放在网页中返回给我们了,即在这个接口中
在这里插入图片描述
一般数据要么在网页中一起返回,要么有单独的接口返回,这个要看具体情况。这边就是放在网页中一起返回了。
我们直接模仿浏览器调用接口

import requests
header = {
    'Host': 'www.baidu.com',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36'
}
res = requests.request(method='GET',url='https://www.baidu.com/', headers=header)

各个网站其实都会有一些反爬的手段,有的是校验客户端,有的是校验跳转路径,有的有人机验证等等(这个我们后面再拓展),这里header里的两行即是为了反爬虫准备的,校验host和user-agent是比较基础的手段,大多数网站都会有,这里我们加一下调用。

数据解析

在这里插入图片描述
这里可以看到返回了个<Response [200]>,这是因为返回结果是整个request的response,其中报告了状态码,header,body等等,这里我们用.text即可获取网页body的text
在这里插入图片描述
这里看到网页可以正常打印出来了,而且是文本信息,可以正常处理了。
在这里插入图片描述
我们可以看到热搜都是在这个hotsearch下,这时我们使用最基础的字符串处理的方式即可获取各个热搜的细节。
在这里插入图片描述
我这边没有用类似于BeautifulSoup的插件来处理网页内容,因为一般情况下,直接处理字符串就可以了。这里可以看到把各个热搜的细节都打印出来了,包括名称、排名、url等等。

以上就是使用python爬取数据的最简单的方法。

声明:本文只供大家交流学习,不能恶意使用爬虫爬取其他网站的信息,尤其注意避免多线程和循环爬取!

在这里插入图片描述


http://www.kler.cn/a/546134.html

相关文章:

  • 《玩转AI大模型:从入门到创新实践》(10)附录一、AI工具百宝箱
  • 代码aaa
  • Unity入门3 添加碰撞体
  • 保姆级GitHub大文件(100mb-2gb)上传教程
  • ECP在Successfactors中paylisp越南语乱码问题
  • 爬虫实战:利用代理ip爬取推特网站数据
  • Gin框架开发教程及性能优势分析
  • 力扣-二叉树-226 翻转二叉树
  • css:position
  • 【RK3588嵌入式图形编程】-SDL2-鼠标输入处理
  • Python实现从SMS-Activate平台,自动获取手机号和验证码(进阶版2.0)
  • MySQL 数据库定时任务及进阶学习
  • 算法——数学建模的十大常用算法
  • DeepSeek R1打造本地化RAG知识库
  • 本地部署DeepSeek集成VSCode创建自己的AI助手
  • webpack打包优化策略
  • 交易所开发商业计划书
  • 喜报!博睿数据案例获经观传媒“2024年度数字转型创新案例”!
  • RocketMQ与kafka如何解决消息积压问题?
  • 通俗理解-L、-rpath和-rpath-link编译链接动态库