做爬虫遇到关于标签为class的问题
网上很多教程说在class改为class_就能正常运行,但是为什么改为class_之后就找不到class标签了然后报错? 程序用的pycharm在跑看下你的代码,class 改成 class_ 是指匹配的数据,不是指变量哈
Twilight6 发表于 2020-11-19 21:40
看下你的代码,class 改成 class_ 是指匹配的数据,不是指变量哈
代码截图如下,这样写可以吗? snowJR 发表于 2020-11-19 22:28
代码截图如下,这样写可以吗?
发下你的报错内容 Twilight6 发表于 2020-11-19 22:38
发下你的报错内容
AttributeError: 'NoneType' object has no attribute 'get_text' snowJR 发表于 2020-11-19 23:05
AttributeError: 'NoneType' object has no attribute 'get_text'
数据提取出错了,find 没提取到数据返回 None ,而 None 没有属性 get_text 方法导致报错
你调式看看,应该是数据提取的问题,先打印完整的 html ,然后你ctrl+f 查找下你 class 的关键字
看下你爬取的源码是否有把你需要的数据爬下来,如果没有那么肯定是find 找不到的,返回 None 了
Twilight6 发表于 2020-11-19 23:20
数据提取出错了,find 没提取到数据返回 None ,而 None 没有属性 get_text 方法导致报错
你调式 ...
源码里是有我要的class标签数据的,改成class_之后就提取不到了 snowJR 发表于 2020-11-20 07:58
源码里是有我要的class标签数据的,改成class_之后就提取不到了
发文本代码用<> snowJR 发表于 2020-11-20 07:58
源码里是有我要的class标签数据的,改成class_之后就提取不到了
你爬取到的源码可能还有不可见字符比如 \ 导致你数据匹配错误
class_ 是没错的,因为如果用class 会和 Python 类定义关键字冲突
Twilight6 发表于 2020-11-20 11:22
你爬取到的源码可能还有不可见字符比如 \ 导致你数据匹配错误
class_ 是没错的,因为如果用class 会 ...
我打印了源码发现用浏览器审查看到的是class标签,但是在pycharm打印出来是mxpath标签是怎么回事? snowJR 发表于 2020-11-20 13:04
我打印了源码发现用浏览器审查看到的是class标签,但是在pycharm打印出来是mxpath标签是怎么回事?
发代码,空口不凭。
soup是为了区分class字段所以用了class_。
浏览器是加载过js的,和requests.get不同很正常。 Target_name = input('请输入源名称:')
url = 'https://ned.ipac.caltech.edu/byname?objname={0}'.format(Target_name)
res = requests.get(url=url,headers=headers)
soup = bs4.BeautifulSoup(res.text,features="html.parser")
Try = soup.find('span',mxpath='NED_QLPhotometryDataTable.qlphot_col3')
fin = Try.get_text()
print(soup)
print(Try)
现在我改用span标签就可以正常提取了 snowJR 发表于 2020-11-20 13:20
Target_name = input('请输入源名称:')
url = 'https://ned.ipac.caltech.edu/byname?objname={0}'.forma ...
这是让我们猜url吗? suchocolate 发表于 2020-11-20 13:51
这是让我们猜url吗?
这里输入的是PKS%200002%2D478 snowJR 发表于 2020-11-20 15:18
这里输入的是PKS%200002%2D478
看网页码源没有public_fixedDataTableCell_cellContent这个class。
你想爬网页中的什么资源?我看这个网页好多数据都是用ajax拿的。
页:
[1]