会员登录|免费注册|忘记密码|管理入口 返回主站||保存桌面
爬取双色球信息 并可视化
2025-02-02IP属地 湖北0

网站: 阳光开奖

目的: 爬取近100期的开奖信息

F12 or 右击检查 打开开发者工具  点击网络(network) 刷新此网页
接着我们点击动态数据 XHR 将数据包清空 最后点击选择100期
监听到此数据包就为我们所需要的

Explain(headers基本的请求头):

  •  UA --user-agent  包含了浏览器的基本信息 如载荷 什么浏览器 版本等

  • cookies: 用户的基本信息

  • host:域名

  • referer: 防盗链    页面跳转的初始网址

请求方式 GET or post     

目的是将我们的python程序模拟成浏览器 向服务器拿数据 得到响应             

右击此数据包 复制cURL(bash) 注意不要复制错了

到爬虫工具库-spidertools.cn 打开并复制到本地py文件

  1. response.text() 获取响应体的文本数据 比如源代码
  2. response.json() 获取JSON 格式的数据(动态数据 由服务器返回给前端的)
  3. response.content() 获取响应体的二进制数据  比如保存图片 音频 视频等

如果数据存在加密(cookie加密 关键字加密 md5 aes 非对称加密 瑞树 akaimai)或反爬(基本的上代理 过验证码 页面交互检测等等) 需要逆向 或者用自动化模块(简单的) 过风控

这里我们获取 json格式的数据即可 原因是服务器返回给前端页面的数据为json

 

这里有个pprint 模块 方便格式化打印 json格式的数据 使用方法如上

常见的解析模块有:

  1. re正则表达式
  2. css选择器
  3. Xpath
  4. parsel(集合了前三种模块)
  5. bs64(已经沉沦 不再使用 版本许久未更新了)

通过键值对 取数据 用字典存储提取的数据

 

如果以后解析复杂的JSON格式数据的话可以打开那个爬虫工具库 点第一个格式化json数据 可以复制路径 非常地方便

多页爬取数据的话 在params里面有个参数 修改嵌套for循坏即可 或者设置pagesize为想要爬取的条数

  • csv格式
  • excel格式
  • 数据库

基本的三种保存方式
     第一种

 

Explain:
        打开名为 ssq.csv 的文件,以追加模式 (a) 打开,并指定编码为 utf-8 和换行符为空字符串。
创建一个 csv.DictWriter 对象,指定字段名列表,最后写入CSV文件的表头 再将字典写入表行

运行可得下面代码 发现 哦豁  乱码了
此时我们只需要将编码格式换成 utf-8-sig即可

再次运行代码 记得删除之前保存的csv文件再运行  ez

 

第二种 通过pandas 保存为excel文件 

 

第三种 保存到数据库 看我上篇文章 在此就不演示了

爬虫的代码如下 供学习交流使用

 
 
 


 


本次的案例分享就到此结束啦 感谢大家的观看 您的点赞和关注是我更新的动力