鱼C论坛

 找回密码
 立即注册
查看: 1829|回复: 10

[已解决]'str' object has no attribute 'get'

[复制链接]
发表于 2021-10-3 18:59:46 | 显示全部楼层 |阅读模式

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

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

x
目的是爬取今日头条街拍图片,大哥们帮我看看这个怎么解决
import requests
from requests.exceptions import RequestException
from urllib.parse import urlencode
import json

def get_page_index(page_num):
    data = {
        'keyword': '街拍',
        'pd': 'atlas',
        'source': 'search_subtab_switch',
        'dvpf': 'pc',
        'aid': '4916',
        'page_num': 'page_num',
        'rawJSON': '1',
        'search_id': '202110031811450101501322040B5D277C'
    }
    url = 'https://so.toutiao.com/search?' + urlencode(data)
    response = requests.get(url)
    try:
        if response.status_code == 200:
            return response.text
        return None
    except RequestException:
        print('索引失败')
        return None

def parse_page_index(html):
    images = html.get('rawData').get('data')
    for image in images:
        link = image.get('img_url')
        yield link



def main(page_num):
    html = get_page_index(page_num)
    for url in parse_page_index(html):
        print(url)

if __name__ == '__main__':
    for i in range(2):
        main(i)


下面是提示错误信息
Traceback (most recent call last):
  File "E:\QMDownload\今日头条\main.py", line 42, in <module>
    main(i)
  File "E:\QMDownload\今日头条\main.py", line 37, in main
    for url in parse_page_index(html):
  File "E:\QMDownload\今日头条\main.py", line 28, in parse_page_index
    images = html.get('rawData').get('data')
AttributeError: 'str' object has no attribute 'get'
最佳答案
2021-10-3 20:55:56
给个建议,可以把 json 数据转换为字典来进行解析
而且你想要图片的话应该找的是图片对应的链接
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-3 19:32:22 From FishC Mobile | 显示全部楼层
images = html.get('rawData').get('data')
这句代码狠另人迷惑
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-3 19:37:38 | 显示全部楼层
wp231957 发表于 2021-10-3 19:32
images = html.get('rawData').get('data')
这句代码狠另人迷惑

我看的视频有点老了,网页不一样,所以我就找了一篇差不多的博客看
我写的就是在这篇博客看的
屏幕截图 2021-10-03 193457.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-3 19:41:04 | 显示全部楼层
wp231957 发表于 2021-10-3 19:32
images = html.get('rawData').get('data')
这句代码狠另人迷惑

就像这样,我也没啥头绪,咋处理

视频

视频

现在的网页

现在的网页
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-3 20:04:04 From FishC Mobile | 显示全部楼层
寄安 发表于 2021-10-3 19:41
就像这样,我也没啥头绪,咋处理

这句代码images = html.get('rawData').get('data')
很像是处理json数据,所以呢,写爬虫代码呢
还是要有自己的思想,说白了就是自己写
别人的毕竟是别人的,有些人代码根本就不全
你的拿来主义根本就没用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-3 20:19:09 | 显示全部楼层
wp231957 发表于 2021-10-3 20:04
这句代码images = html.get('rawData').get('data')
很像是处理json数据,所以呢,写爬虫代码呢
还是要 ...

是各种不懂
我的思想还是要建立在学了的基础上,在看视频的过程中,肯定有错误,我就要问,问了就学了7788了。
但是我也不能总是看完各种基础知识,前端后端,再来学,再来敲自己的代码,人无完人,而且也没有那么多时间一直做一件事,在一个个小项目中才能更好的锻炼自己的思想
所以,我还是想问问这个咋解决的,我也在网上搜了好多,但是大多数说的不是一件事,大佬可以给我说一下解决方法吗,虽然我的拿来主义不靠谱,但是这也是目前最好的办法了,对我来说确实是这样。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-3 20:30:52 From FishC Mobile | 显示全部楼层
寄安 发表于 2021-10-3 20:19
是各种不懂
我的思想还是要建立在学了的基础上,在看视频的过程中,肯定有错误,我就要问,问了就学了77 ...

没在电脑旁,感觉①楼代码是过时的代码,也就是说是不能运行的代码,或者说是错的代码
写爬虫确实需要一些前端知识,这是肯定的
至于如何解决,就是抛弃所有的前辈代码
自己根据需求,自己去抓包,去分析网页
不会抓包,咋学爬虫啊??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-3 20:33:30 | 显示全部楼层
wp231957 发表于 2021-10-3 20:30
没在电脑旁,感觉①楼代码是过时的代码,也就是说是不能运行的代码,或者说是错的代码
写爬虫确实需要一 ...

嗯,说的有道理,那我再看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-3 20:33:39 From FishC Mobile | 显示全部楼层
寄安 发表于 2021-10-3 20:19
是各种不懂
我的思想还是要建立在学了的基础上,在看视频的过程中,肯定有错误,我就要问,问了就学了77 ...

除非你不想学,那就找人根据你的需求,别人给你一段能满足需求的代码,但是这样会有,过一段时间,网站修改,代码又不能用了
所以自己会才是真的会
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-3 20:36:29 | 显示全部楼层
wp231957 发表于 2021-10-3 20:33
除非你不想学,那就找人根据你的需求,别人给你一段能满足需求的代码,但是这样会有,过一段时间,网站修 ...

确实
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-3 20:55:56 | 显示全部楼层    本楼为最佳答案   
给个建议,可以把 json 数据转换为字典来进行解析
而且你想要图片的话应该找的是图片对应的链接
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-13 06:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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