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

爬虫模板(附完整代码+案例)

目录

  • 背景
  • 1、写入空白Excel
  • 2、提供 URL、headers 、cookies、params
  • 3、数据清洗,这里大家各有各的办法,依情况而定
    • 可以使用re正则表达式,如:
    • 可以使用xpath,如:
    • 可以使用字典,如:
    • 可以使用bs4,如:
  • 4、储存
  • 5、完整模板代码
  • 总结:求关注+收藏+点赞

背景

  • 像我经常需要使用一些爬虫脚本去获取某些网站的信息,所以提供一个模板,只要改一下请求的网址、请求参数、Cookie,或者是headers 的参数,就可以使用,所以准备一个模板分享一下

1、写入空白Excel

wb = openpyxl.Workbook()
ws = wb.active
ws.append(['表头','表头','表头','表头','表头','表头',..........])

2、提供 URL、headers 、cookies、params

url = '请求URL'
cookies = {'Cookie': '值'}headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'}params = {
'xxx1': '值',
'xxx2': '值',
}

3、数据清洗,这里大家各有各的办法,依情况而定

res_data= requests.post(url=url, params=params, headers=headers, cookies=cookies)
# print(res_data.text)
res_data.encoding = "utf-8"
data = json.loads(res_data.text)1 = data['键']2 = data['键'3 = data['键']4 = data['键']5 = data['键']6 = data['键']7 = data['键']

可以使用re正则表达式,如:

  • 专栏(点我跳转专栏 )的 第 5 篇(点我跳转文章)

可以使用xpath,如:

  • 专栏(点我跳转专栏 )的 第 10 篇(点我跳转文章)

可以使用字典,如:

  • 专栏(点我跳转专栏 )的 第 2 篇(点我跳转文章)

可以使用bs4,如:

  • 专栏(点我跳转专栏 )的 第 4 篇(点我跳转文章)

4、储存

ws.append([1,2,3,4,5,6,.....])wb.save("保存结果.xlsx")

5、完整模板代码

# -*- coding: UTF-8 -*-
'''
@Project :项目名称
@File    :程序.py
@IDE     :PyCharm 
@Author  :一晌小贪欢
@Date    :2024/01/22 15:33
'''# 创建空白Wxcel
wb = openpyxl.Workbook()
ws = wb.active
ws.append(['表头','表头','表头','表头','表头','表头',..........])import json
import openpyxl
import requestsurl = '请求URL'
cookies = {'Cookie': '值'}headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36'}params = {
'xxx1': '值',
'xxx2': '值',
}res_data= requests.post(url=url, params=params, headers=headers, cookies=cookies)
# print(res_data.text)
res_data.encoding = "utf-8"
data = json.loads(res_data.text)1 = data['键']2 = data['键'3 = data['键']4 = data['键']5 = data['键']6 = data['键']7 = data['键']
'''
'''
'''ws.append([1,2,3,4,5,6,.....])wb.save("保存结果.xlsx")

总结:求关注+收藏+点赞

相关文章:

  • 常用的Qt开源库分享
  • 一、基础数据结构——2.队列——3.双端队列和单调队列1
  • 【Ant Design of Vue】Modal.confirm无法关闭的bug
  • 如何在Linux部署JumpServer堡垒机并实现远程访问本地服务
  • mybatis的缓存机制
  • vue中合并下载打包视频图片
  • Gitee Reward让开源作者不再为爱发电
  • 数组练习 Leetcode 566.重塑矩阵
  • Pytest插件pytest-django让Django测试更高效
  • Spring data都包含哪些内容
  • 100天精通Python(实用脚本篇)——第113天:基于Tesseract-OCR实现OCR图片文字识别实战
  • 蓝桥杯官网填空题(海盗与金币)
  • 【C++】类和对象
  • MyBatis 的XML实现方法(JAVA)
  • Android 基础技术——addView 流程
  • [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
  • 2019年如何成为全栈工程师?
  • CentOS 7 修改主机名
  • Debian下无root权限使用Python访问Oracle
  • Hibernate【inverse和cascade属性】知识要点
  • IDEA常用插件整理
  • javascript从右向左截取指定位数字符的3种方法
  • leetcode46 Permutation 排列组合
  • MySQL主从复制读写分离及奇怪的问题
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 每天10道Java面试题,跟我走,offer有!
  • 浅谈Golang中select的用法
  • 无服务器化是企业 IT 架构的未来吗?
  • 一道面试题引发的“血案”
  • 赢得Docker挑战最佳实践
  • 源码安装memcached和php memcache扩展
  • 仓管云——企业云erp功能有哪些?
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​水经微图Web1.5.0版即将上线
  • ​香农与信息论三大定律
  • (¥1011)-(一千零一拾一元整)输出
  • (12)Linux 常见的三种进程状态
  • (6)添加vue-cookie
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • ..回顾17,展望18
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net mvc 获取url中controller和action
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .net网站发布-允许更新此预编译站点
  • .NET中GET与SET的用法
  • .net中应用SQL缓存(实例使用)
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @RequestBody与@ModelAttribute