鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: Pythonnewers

[已解决]爬百度时候无法获取死亡人数或治疗人数

[复制链接]
发表于 2020-5-7 08:34:27 | 显示全部楼层
Pythonnewers 发表于 2020-5-6 23:17
想起来你那个获取json用的是.text,那个是什么,如果用bs4获取字符串应该是string或者strings或者get_tex ...


首先不知道为啥你会报错0-0,你那个错应该是前面获取到的targets[0].text是空值才出现的,然鹅我把代码让其他小伙伴运行也都是OK的,奇怪
然后你说的.text我解释下啦:
html = requests.get(url=url,headers=headers).content.decode()
soup = bs4.BeautifulSoup(html, "html.parser")
targets = soup.select("#captain-config")
info=json.loads(targets[0].text)
先来看看过程中所有变量的类型
type(html)  str。  我们获取到的初始html只是一个字符串
type(soup)  bs4.BeautifulSoup。 将字符串变为可操作性的bs4
type(targets)  list。 根据我们需求select出来的信息,形成了一个list,list里只有一个我们想要的元素,所以取用targets[0]
type(targets[0]) bs4.element.Tag。targets[0]还只是一个tag,想获取里面具体的内容(也就是json),我们要用.text变成字符串,然后再将targets[0].text转为json。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-5-7 09:13:16 | 显示全部楼层
颜栩栩 发表于 2020-5-7 08:34
首先不知道为啥你会报错0-0,你那个错应该是前面获取到的targets[0].text是空值才出现的,然鹅我把代码 ...

是的,我取到的是空列表,但是靠着正则也算搞出来了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-27 05:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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