python爬虫的实战思路

3.1Requests+正则表达式爬取猫眼电影TOP100

  • 抓取单⻚内容
    利⽤requests请求⽬标站点,得到单个⽹⻚HTML代码,返回结果。
  • 正则表达式分析
    根据HTML代码分析得到电影的名称、主演、上映时间、评分、图⽚链接等信息。
  • 开启循环及多线程
    对多⻚内容遍历,开启多线程提⾼抓取速度。
  • 保存⾄⽂件
    通过⽂件的形式将结果保存,每⼀部电影⼀个结果⼀⾏Json字符串。

3.2分析Ajax请求并抓取今日头条街拍图片

  • 抓取索引⻚内容
    利⽤requests请求⽬标站点,得到索引⽹⻚HTML代码,返回结果。

  • 抓取详情⻚内容
    解析返回结果,得到详情⻚的链接,并进⼀步抓取详情⻚的信息。

  • 下载图⽚与保存数据库
    将图⽚下载到本地,并把⻚⾯信息及图⽚URL保存⾄MongoDB。

  • 开启循环及多线程
    对多⻚内容遍历,开启多线程提⾼抓取速度。

3.3Selenium+Chrome/PhantomJS爬取淘宝美食

  • 搜索关键字
    利⽤Selenium驱动浏览器搜索关键字,得到查询后的商品列表。
  • 分析⻚码并翻⻚
    得到商品⻚码数,模拟翻⻚,得到后续⻚⾯的商品列表。
  • 分析提取商品内容
    利⽤PyQuery分析源码,解析得到商品列表。
  • 存储⾄MongoDB
    将商品列表信息存储到数据库MongoDB。

3.4 用Flask+Redis维护代理池

3.4.1 为什么要用代理池

许多⽹站有专⻔的反爬⾍措施,可能遇到封IP等问题。
互联⽹上公开了⼤量免费代理,利⽤好资源。
通过定时的检测维护同样可以得到多个可⽤代理

3.4.2 代理池的要求

多站抓取,异步检测
定时筛选,持续更新
提供接⼝,易于提取

3.4.3 代理池的架构

在这里插入图片描述

3.4.4 使用

得到新的IP
localhost:5000/get
查看代理池数量
localhost:5000/count

3.5 用代理抓取微信文章

3.5.1 目标站点分析
  • 抓取索引⻚内容
    利⽤requests请求⽬标站点,得到索引⽹⻚HTML代码,返回结果。
  • 代理设置
    如果遇到302状态码,则证明IP被封,切换代理重试。
  • 分析详情⻚内容
    请求详情⻚,分析得到标题,正⽂等内容
  • 将数据保存到数据库
    将结构化数据保存⾄MongoDB

3.5 使用Redis+Flask维护动态cookies池

3.5.1为什么要⽤Cookies池

⽹站需要登录才可爬取,例如新浪微博
爬取过程中如果频率过⾼会导致封号
需要维护多个账号的Cookies池实现⼤规模爬取

3.5.2Cookies池的要求

自动登录更新
定时验证筛选
提供外部接口

3.5.3 Cookies池架构

在这里插入图片描述

3.5.4 Cookies池实现
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值