专栏首页咸鱼学PythonPython | 其实爬虫也有套路(附赠书获奖名单)

Python | 其实爬虫也有套路(附赠书获奖名单)

通用爬虫套路

在刚刚接触Python爬虫的时候常常会有无从下手的感觉,于是咸鱼整理了简单爬虫的通用套路,没有思路的时候看一下吧。

准备url
  • 准备start url
    • 页码总数不确定,规律不明显
    • 通过代码提取下一页地址
    • 使用xpath提取url
    • 寻找url地址,部分参数在当前页面中,比如当前页码数和总页码数,使用这两个参数构建url
  • 准备url list
    • 页码总数清楚
    • url 地址规律明显
发送请求,获取响应
  • 添加随机user-agent,反反爬虫
  • 添加随机代理ip,反反爬虫
  • 在对方判断我们是爬虫之后应该添加更多的headers字段,包含cookie
  • cookie的处理可以使用session来解决
  • 准备一堆能用的cookie,组成cookie池。
  • 如果不登录
    • 准备刚刚开始能够成功请求的cookie,即接收对方网站设置在response的cookie
  • 如果登录
    • 准备多个账号
    • 使用程序获取每个账号的cookie
    • 请求登录之后才能访问的网站随机选择上一步获取的cookie
提取数据
  • 确定数据的位置
    • 如果数据在当前的url地址中
    • 提取的是列表页中的数据
    • 直接请求列表页的url地址,不用进入详情页
    • 提取详情页的数据
    • 1.确定url
    • 2.发送请求
    • 3.提取数据
    • 4.返回
    • 如果数据不在当前的url地址中
    • 在其他响应中,寻找数据的位置
    • 在network中从上而下找
    • 使用chrome中的过滤条件,选择除了js,css, image之外的按钮
    • 使用chrome的serach all file,搜索数字和英文
  • 数据的提取
    • xpath,从html中提取整块的数据,先分组,之后每一组在提取
    • re,提取max_time,html等
    • json
保存数据
  • 保存在本地json ,csv,text
  • 保存在数据库

本文分享自微信公众号 - 咸鱼学Python(xianyuxuepython),作者:煌金的咸鱼

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JS逆向 | 无限Debugger之淘大象

    今天继续和大家研究JS逆向,不少小伙伴在JS逆向的时候遇到过无限debugger的反爬,今天就拿一个网站练练手感受下无限debugger。

    咸鱼学Python
  • 实战案例浅析JS加密 - 基础总结篇

    找了一圈发现越是大厂加密越是简单,安全防护之类的完全不靠js加密,扫码登陆才是关键。比如微信公众号平台的登陆加密就是简单的MD5,但人家有扫码登陆,此类情况比比...

    咸鱼学Python
  • 爬虫 | Python学习之Scrapy-Redis实战京东图书

    scrapy-Redis就是结合了分布式数据库redis,重写了scrapy一些比较关键的代码,将scrapy变成一个可以在多个主机上同时运行的分布式爬虫。

    咸鱼学Python
  • 工作范围说明书与需求规格说明书

    首先,工作范围说明书简单地说,就是对项目干系人有约束作用的、为了说明项目工作范围的说明文件。项目工作的范围就是指为了成功达到项目的目标,项目所规定要做的事项。确...

    公众号php_pachong
  • 踩踩鸿洋大神的坑,优化修复他Cookie支持带来的BUG

    Xiaolei123
  • python requests包用法

    s = requests.session() headers = { 'Accept':'image/webp,image/*;...

  • 一、爬虫基本原理

    一 爬虫是什么 ? #1、什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样。 #2、互联网建...

    用户1214487
  • SAP Spartacus url里默认electronics-spa的由来

    这个electronics-spa即使在后台没有连通的情况下也能用,说明肯定不是从后台返回的:

    Jerry Wang
  • PyQt5 技巧篇-解决相对路径无法加载图片问题,styleSheet通过"相对"路径加载图片,python获取当前运行文件的绝对路径。

    styleSheet用相对路径我是怎么试都不管用。加了:/在前面也不管用。 好像跟pyqt5自身的绘图机制有关,父类子类啥的。以后有空可以研究下。

    小蓝枣
  • 加载远程图片

    根据默认图片的大小和位置,显示远程图片,只需要把组件挂载在Sprite上,需要更新的时候,调用以下方法即可。

    一枚小工

扫码关注云+社区

领取腾讯云代金券