鱼C论坛

 找回密码
 立即注册
查看: 2450|回复: 1

[技术交流] 花瓣网解析

[复制链接]
发表于 2020-3-1 20:28:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这是一个动态加载的网页
它的静态内容几乎没啥内容
所以:
1、静态解析的工具全部不能用,包括lxml   bs4 / XPATH 正则  等等
2、分析了很长时间很长时间,发现这个网站几乎都是用json在传送数据
3、今天看了一个视频,他里面是用正则去解析网页源码中的<script>......</script> 之间的内容,然后提取相关的key 这个key值就是图片原型
     可是他的弊端太明显了,根本就爬不了几张图片
4、期间又做了一件蠢事,我幻想着,在自己的本地HTML中 向花瓣服务器发送请求,然后它返给我数据,我就能接收到了,结果呢,你们猜
好了,先上图片
ere.png

评分

参与人数 1荣誉 +2 鱼币 +2 贡献 +2 收起 理由
LuckyTiger66 + 2 + 2 + 2 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-3-1 20:39:42 | 显示全部楼层
import requests
import json

i=0
pin="237967229"     #起始pin  需要F12自己慢慢发现
while True:
    params={
        "k78u7sws": "",
        "max": pin,
        "limit": "20",
        "wfl": "1"
       }
    headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3947.100 Safari/537.36",
              "X-Request": "JSON",                    #这里困扰了我好久好久,具体为,明明服务器返回的是json数据,可是我get到的就是主页那点静态代码 
              "X-Requested-With": "XMLHttpRequest"}   #后来我加了这两个参数,也不知道哪个起了作用,能接到json数据了
              
    url="https://huaban.com/explore/shuixiasheying"   #网站有很多系列,我这里选择了水下摄影子页面
    response=requests.get(url=url,params=params,headers=headers)     #get方式 需要传参一定是params
    jsondata=(response.json())                #注意,我在这里卡顿了很久很久,因为接不到json数据 你直接这样用  会报错
    if len(jsondata["pins"])<=0:break         #瀑布流  鼠标拉到最下端 没有新的图片了,pins长度为0 结束循环
    for x in range(len(jsondata["pins"])):
        imgurl="https://hbimg.huabanimg.com/"+jsondata["pins"][x]["file"]["key"]     #这个jsondata["pins"][x]["file"]["key"] 狠关键,所有分析,都是为了寻找这个key 图片的原型
        i+=1
        imgcontent=requests.get(imgurl)
        with open(r'/pic/水下摄影/'+jsondata["pins"][x]["file"]["key"]+",jpg", 'wb') as file:
            print("正在下载第%d张图片,文件名为%s"%(i,jsondata["pins"][x]["file"]["key"]))
            file.write(imgcontent.content)
    pin= jsondata["pins"][-1]["pin_id"]   #构建下次循环(也就是下一页)
print("水下摄影共有%d张图片被下载"%i)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 22:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表