首页 > 编程语言 >Python 通用爬虫思路

Python 通用爬虫思路

时间:2023-01-31 10:32:17浏览次数:32  
标签:提取 请求 Python 爬虫 url cookie 思路 数据


文章目录

  • ​​通用爬虫思路​​
  • ​​1. 准备URL​​
  • ​​2. 发送请求,获取响应​​
  • ​​3. 提取数据​​
  • ​​4. 保存​​

通用爬虫思路

1. 准备URL

  • 准备start_url
  • url地址规律不明显,总数不确定
  • 通过代码查找下一页url
  • xpath定位
  • 不明显,寻找url地址,部分参数可能放在当前的响应中(比如当前页码数和总页码数会在当前响应中)
  • 准备url_list
  • 页码总数明确
  • url地址规律明显

2. 发送请求,获取响应

  • 添加随机的User-Agent,反反爬虫
  • 添加随机代理的IP,建立ip代理池,反反爬虫
  • 在对方判断我们是爬虫后,应该添加更多的headers字段,包括cookie
  • cookie的处理可以使用session模块解决
  • 准备一堆可以使用的cookie,组成cookie池
  • 如果不登录
  • 准备刚开始可以成功请求网址的cookie,即接收对方网址设置在response中的cookie
  • 下一次请求的时候,使用之前的cookie来请求
  • 如果要登录
  • 准备多个账号
  • 使用程序获取每个账号的cookie
  • 之后请求登录之后才能访问的网址随机使用已有的cookie

3. 提取数据

  • 确定数据的位置
  • 如果数据在当前的url地址响应中
  • 提取的是列表页的数据(第一层)
  • 提取详情页的数据(第二层)
  • 寻找详情页的url,发送请求,提取数据,返回数据存储
  • 如果数据不在当前的url地址相应中
  • 在其他的响应中,寻找数据的位置
  1. 从network结果中从上往下找
  2. 使用Chrome中的过滤条件,选择出js.css.img之外的按钮选项
  3. 使用Chrome中的search all file,搜索关键数字和英文
  • 数据提取
  • xpath,从html提取数据,进行分组,之后每一组再进行提取
  • re,提取特定的字符串
  • json数据,转换为python字典,然后re查找提取

4. 保存

  • 保存在本地,txt,json,csv
  • 保存到数据库


标签:提取,请求,Python,爬虫,url,cookie,思路,数据
From: https://blog.51cto.com/u_14990501/6028440

相关文章

  • PYTHON基础
    PYTHON基础字面量指在代码中,被写下来的固定的值常用的值类型类型描述数字(Number)支持-整数(int)-浮点数(float)-复数(complex)(-复数:如4+3j,以j结尾......
  • Python-​​pprint的简单使用
    ​​Dataprettyprinter 一、简介​​​print()​和​​pprint()​都是python的打印模块,功能基本一样,唯一的区别就是​​pprint()​模块打印出来的数据结构更加完整,每......
  • 合宙 esp32c3 烧录 MicroPython
    首先安装USB串口驱动(win10以上会自动安装,CH343串口驱动)安装Python安装esptool->pipinstallesptool下载MicroPython固件固件地址名称为:esp32c3-20220618-v1.......
  • Python 错误:TypeError: range() takes no keyword arguments
    问题描述:for循环时使用range()出错:forpageinrange(start=1,stop=8+1,step=1):print(page)结果报错TypeError:range()takesnokeywordargument......
  • python3 获取国内上一个交易日 依赖chinese_calendar
    #获取国内上一个交易日defgetLastTradingday():#依赖库chinese_calendar,datetimedayStep=1lastTradingday=datetime.datetime.now()-datetime.......
  • Python操作Mongodb
    客户端客户端连接$bin/mongo.exeMongoDBshellversionv3.6.13help打开帮助showdbs#查看当前有哪些库useblog#有就切换过去,没有就创建后切换过去。......
  • PEG parser——为什么python不再使用LL(1)
    Python3.9中的PEG语法分析算法0题外话若文章有后续更新,可以在我的博客上看到。pre视频在这里。1PEG:ParsingExpressionGrammar1.1定义1.1.1语法形式上,......
  • 使用 Python 操作 Mongo 数据库
    1.简介MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,它支持的......
  • 实战案例!1行Python代码识别车牌号码,轻松写一个停车场管理系统,YYDS
    大家好,这里是程序员晚枫。你家停车场的摄像头,是怎么识别出你的车牌的?今天我们一起来看一下~识别车牌识别车牌的代码很简单,只需要1行代码,如下所示。......
  • python中copy和deepcopy详细区别
     python中copy和deepcopy 在python中,标识一个对象唯一身份的是:对象的id(内存地址),对象类型,对象值。deepcopy是真正意义上的复制,深拷贝,被复制对象完全复制一遍......