前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python爬虫:海量食谱数据爬取持久化!!!

Python爬虫:海量食谱数据爬取持久化!!!

作者头像
@莜莜
修改2021-08-25 14:14:17
5660
修改2021-08-25 14:14:17
举报
文章被收录于专栏:爬小虫

“文章目录

    前言

    App数据抓包分析

    爬取结果

    最后。”

前言


    App数据抓包分析

    打开豆果美食APP

图片
图片
图片
图片
图片
图片

    得到对应的JSON数据

图片
图片

对应代码

代码语言:javascript
复制
url = "https://api.douguo.net/recipe/flatcatalogs"
    data = {
        "client": "4,",
        "_vs": "0",
    }
    count = 0
    response = handle_request(url, data)
    # 转化为json格式
    index_response_dict = json.loads(response.text)

 使用在线JSON解析网站进行解析,可以发现我们得到了需要的数据

图片
图片

    那我们就进入红烧肉吧😁,发现有三种排序的方式

图片
图片

    那我们在fiddler中可以发现三个对应的HTTPS请求

图片
图片

    表面上看长得一摸一样,但三个都是POST请求,所以参数不同,根据我的实践,发现三种分类对应三个order字段的不同值

图片
图片

    再来看看具体的JSON数据,可见是一一对应的

图片
图片

对应部分代码

代码语言:javascript
复制
caipu_list_url = "https://api.douguo.net/recipe/v2/search/0/20"caipu_list_response = handle_request(url=caipu_list_url, data=data)caipu_list_response_dict = json.loads(caipu_list_response.text)

然后的话还需要去请求详情页

    请求路径中的数字就是上面得到的ID

图片
图片
图片
图片

    对应部分代码

代码语言:javascript
复制
detail_url = "https://api.douguo.net/recipe/v2/detail/" + str(shicai_id)detail_data = {    "client": "4",    "author_id": "0",    "_vs": "11104",    "_ext": '{"query":{"kw":' + str(        shicai) + ',"src":"11104","idx":"3","type":"13","id":' + str(        shicai_id) + '}}',    "is_new_user": "1",}detail_response = handle_request(detail_url, detail_data)#解析为json格式detail_response_dict = json.loads(detail_response.text)

    爬取结果

代码语言:javascript
复制
代码测试,只爬取了部分
图片
图片

    最后

    

这是保存下来的python万字博文教你玩嗨selenium库的方法,如有不足之处或更多技巧,欢迎指教补充。愿本文的分享对您之后爬虫有所帮助。谢谢~

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • “文章目录
  • 前言
    •     App数据抓包分析
      •     爬取结果
        •     最后
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档