Python 通用爬虫思路

通用爬虫思路

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结果中从上往下找
          1. 使用Chrome中的过滤条件,选择出js.css.img之外的按钮选项
          1. 使用Chrome中的search all file,搜索关键数字和英文
  • 数据提取
    • xpath,从html提取数据,进行分组,之后每一组再进行提取
    • re,提取特定的字符串
    • json数据,转换为python字典,然后re查找提取

4. 保存

  • 保存在本地,txt,json,csv
  • 保存到数据库
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章