首页 > 编程语言 >Python 爬虫方法总结

Python 爬虫方法总结

时间:2023-02-16 22:22:57浏览次数:36  
标签:总结 提取 请求 Python 爬虫 url cookie 数据

实现爬虫的套路

  • 准备URL

    • 准备start_url
      • url地址规律不明显,总数不确定
      • 通过代码提取下一页的url
        • 通过xpath提取
        • 寻找url地址,部分参数在当前的响应中(比如当前页码数和总页码数在当前的响应中)
    • 准备url_list
      • 页码总数明确的时候
      • url地址规律明显
  • 发送请求,获取响应

    • 添加随机的User-Agent,反反爬虫
    • 添加随机的代理IP,反反爬虫
    • 在对方判断出我们是爬虫之后,应该添加更多的headers字段,包括cookie
    • cookie的处理可以使用session解决
    • 准备一堆能用的cookie,组成cookie池
      • 如果不登陆
        • 准备刚开始能够成功请求对方网站的cookie,即接受对方网站设置在response的cookie
        • 下一次请求的时候,使用之前的列表中的cookie来请求
      • 如果登录
        • 准备多个账号
        • 使用程序获取每个账号的cookie
        • 之后请求登录之后才能访问的网站随机的选择cookie
  • 提取数据

    • 确定数据的位置
      • 如果数据在列表当前的地址中
        • 提取的是列表页的数据
          • 直接请求列表页的url地址,不用进去详情页
        • 提取的是详情页的数据
            1. 确定url
            2. 发送请求
            3. 提取数据
            4. 返回
      • 如果数据不在当前的url地址中
        • 在其他的响应中,寻找数据的位置
            1. 从network中从上往下找
            2. 使用chrome中的【过滤条件,选择除了js,css,img之外的选项
            3. 使用chrome的search all file,搜索数字和英文
    • 数据的提取
      • xpath,从html中提取整块的数据,先分组,之后每一组再提取
      • re(正则),提取max_time,price,html中的json字符串
      • json
  • 保存

    • 保存在本地(text, json, csv)
    • 保存在数据库

标签:总结,提取,请求,Python,爬虫,url,cookie,数据
From: https://www.cnblogs.com/thankcat/p/17128516.html

相关文章

  • 真实项目开发中高并发实战经验总结
    1、使用异步多线程的方式记录详细的请求日志;使用异步多线程的方式记录接口请求调用量;2、不同类型的接口采用不同的限流设置,比如后台管理系统和对外接口采取不同的限制设置;......
  • python接口自动化13-API流量回放/锲约测试/自动化测试
    PPL-Tester简介http工具集,通过代理获取到API的请求与响应信息,将这些请求信息进行流量回放/锲约测试或快速生成用例,亦可通过人工进行修改参数化提取、变量引用、断言......
  • 一文总结当下常用的大型 transformer 效率优化方案
    前言本文是一篇综述性的博客,探讨总结当下常用的大型transformer效率优化方案。 本文转载自机器之心作者丨LilianWeng欢迎关注公众号CV技术指南,专注于计算机......
  • python语法入门之与用户交互、运算符
    目录一、程序与用户交互1.什么是与用户交互用户交互就是人往计算机中input/输入数据,计算机print/输出结果2.为什么要与用户交互为了让计算机能够像人一样与用户沟通交......
  • Python多任务教程
    一.并发和并行多任务:一定时间段内,充分利用cpu资源,同时去执行多个任务并发:快速交替的去执行多任务并行:真正同时的去执行多任务,就是同时进行二.多进......
  • python百分号编码、解码
    在做接口自动化时,接口需要传入中文,并且是经过编码之后的中文例如需要将https://www.百度.com转换成如下,才能执行成功,那要怎么转换呢?https://www.%E7%99%BE%E5%BA%......
  • QT基础学习 - 总结
    一、学习规划与必要知识点总结1、QT的下载与安装;1)下载:进入官网,下载QT在线下载工具(QT5.15后都必须在线下载):2)安装参考博客: a. (86条消息)Windows10在线安装Qt5.15和......
  • python通过装饰器装饰OPEN,实现资源和打开路径同步
    #编写装饰器defwrapper(function):def_open(*args,**kw):"""修改路径"""args_list=list(args)key='/'.join(__file__.split(......
  • 线程池总结
    一、什么是线程池,为什么需要线程池池化思想在计算机领域并不少见,在SQL连接,TCP链接中也常常见到,本质思想都是一样的,就是资源复用,线程池也差不多就是这个道理,它将多个线程资......
  • python 中 None 和 [ ] 和 ““ 的区别
     在判断树为空的时候,返回的值应该是None还是[]产生疑问其实可以去看一下他们三个的类型type   如图,三个的类型是完全不同的,None表示该值是一个空对象,空......