zoukankan      html  css  js  c++  java
  • Python 花瓣网动态爬虫

    好久没有写爬虫了,之前只是止步于爬取静态网页,于是准备找个简单的动态网页进行爬取,在学长的建议下,进军花瓣网。


    首先在爬取图片之前肯定要对网页源码进行分析

    这里写图片描述

    这里可以使用chrome的F12开发人员工具,很简单就找到了图片的url,这不就直接可以开始爬取了么2333

    但是事实并不是这样,我使用requests.get获取网页源码后,发现和我看到的网页源码跟不就不是一个东西
    之后根据网上资料查询,发现获取的其实是json格式的一大串数据。这时候开启开发人员工具,然后选择network,选择XHR,你开始往下拖动,会发现每次网页加载就会出现新的XHR文件

    这里写图片描述

    上面画红线的都是有图片内容的一次加载图片的XHR文件,点击第一个,再选择preview,打开pins

    这里写图片描述

    这里面就是一次加载的20张照片的json格式信息,点开第0个,观察里面信息

    这里写图片描述

    其实这里需要的只是每一张图片的pin_id和key

    pin_id是用来让脚本持续获得新的图片,读者可自行观察下每次刷新出的包含20张图片的那个XHR文件网站是由
    http://huaban.com/explore/miantiao/(最基础网站) + ?jb67d549(这个不清楚,但是不影响,因为并没有值)&max=891511322(每20组图片第一张pin_id)&limit=20&wfl=1(后面这两个是固定的)

    这里写图片描述

    这里可以知道,第一组照片最后一个pin_id就是下一组网站url组成中的max

    key是用来下载图片时使用,可以在网页源码中找到,图片的url格式是
    http://img.hb.aicdn.com/ + d094c0bbdfa62c4d45dac35f4f8c99d9eaa3649cd2da-AAz022_(这就是key,当然这个不是第一张图片的key)+ fw236
    可以直接使用urllib.request.urlretrieve直接下载图片

    附上源码
    这个爬虫针对于花瓣网很多网页都可以直接进行图片下载,只需要更换下最前面的url


    文章里可能有些地方说的不够专业,我是以我自己对这些的理解写下的,如果有问题谢谢大家提醒我。

    最后附上美食:

    这里写图片描述

  • 相关阅读:
    typedef用法小结
    14种排序
    常用google产品
    去重排序
    双向链表
    IDEA上传一个项目到github
    IDEA上传一个项目到github
    Git的安装
    Hibernate 加载策略得总结
    hadoop -- fsck
  • 原文地址:https://www.cnblogs.com/GF66/p/9785495.html
Copyright © 2011-2022 走看看