鱼C论坛

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

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

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

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

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

x
目的是爬取今日头条街拍图片,大哥们帮我看看这个怎么解决

  1. import requests
  2. from requests.exceptions import RequestException
  3. from urllib.parse import urlencode
  4. import json

  5. def get_page_index(page_num):
  6.     data = {
  7.         'keyword': '街拍',
  8.         'pd': 'atlas',
  9.         'source': 'search_subtab_switch',
  10.         'dvpf': 'pc',
  11.         'aid': '4916',
  12.         'page_num': 'page_num',
  13.         'rawJSON': '1',
  14.         'search_id': '202110031811450101501322040B5D277C'
  15.     }
  16.     url = 'https://so.toutiao.com/search?' + urlencode(data)
  17.     response = requests.get(url)
  18.     try:
  19.         if response.status_code == 200:
  20.             return response.text
  21.         return None
  22.     except RequestException:
  23.         print('索引失败')
  24.         return None

  25. def parse_page_index(html):
  26.     images = html.get('rawData').get('data')
  27.     for image in images:
  28.         link = image.get('img_url')
  29.         yield link



  30. def main(page_num):
  31.     html = get_page_index(page_num)
  32.     for url in parse_page_index(html):
  33.         print(url)

  34. if __name__ == '__main__':
  35.     for i in range(2):
  36.         main(i)
复制代码



下面是提示错误信息

  1. Traceback (most recent call last):
  2.   File "E:\QMDownload\今日头条\main.py", line 42, in <module>
  3.     main(i)
  4.   File "E:\QMDownload\今日头条\main.py", line 37, in main
  5.     for url in parse_page_index(html):
  6.   File "E:\QMDownload\今日头条\main.py", line 28, in parse_page_index
  7.     images = html.get('rawData').get('data')
  8. AttributeError: 'str' object has no attribute 'get'
复制代码
最佳答案
2021-10-3 20:55:56
给个建议,可以把 json 数据转换为字典来进行解析
而且你想要图片的话应该找的是图片对应的链接
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-10-3 19:32:22 From FishC Mobile | 显示全部楼层
images = html.get('rawData').get('data')
这句代码狠另人迷惑
小甲鱼最新课程 -> https://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
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

视频

视频

现在的网页

现在的网页
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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

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

使用道具 举报

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

嗯,说的有道理,那我再看看
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

除非你不想学,那就找人根据你的需求,别人给你一段能满足需求的代码,但是这样会有,过一段时间,网站修改,代码又不能用了
所以自己会才是真的会
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

确实
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-17 17:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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