近日碰到此问题,其实是很弱智的问题,但此知识点,为大家总结,也为自己加深记忆。

没错总结下来就是string返回的是字符串,strings返回的是生成器,stripped_strings返回的也是个生成器
from bs4 import BeautifulSoup as bs
url="""
<div class="contents" data-type="district">
<a class="active">不限</a>
<a>浦东新区</a>
<a>徐汇区</a>
<a>闵行区</a>
<a>长宁区</a>
<a>杨浦区</a>
<a>静安区</a>
<a>黄浦区</a>
<a>普陀区</a>
<a>虹口区</a>
<a>嘉定区</a>
<a>宝山区</a>
<a>松江区</a>
<a>青浦区</a>
<a>闸北区</a>
<a>奉贤区</a>
<a>金山区</a>
<a>崇明县</a>
</div>
btree=bs(url,"html.parser")
district = list(btree.find("div", class_="contents")).stripped_strings
for d in district[1:]:
print(d)
district = list(btree.find(“div”, class_=“contents”)).stripped_strings
AttributeError: ‘list’ object has no attribute ‘stripped_strings’
只需将此行换成
district = list(btree.find("div", class_="contents").stripped_strings)
即可
此时的district的返回值是
[‘不限’, ‘浦东新区’, ‘徐汇区’, ‘闵行区’, ‘长宁区’, ‘杨浦区’, ‘静安区’, ‘黄浦区’, ‘普陀区’, ‘虹口区’, ‘嘉定区’, ‘宝山区’, ‘松江区’, ‘青浦区’, ‘闸北区’, ‘奉贤区’, ‘金山区’, ‘崇明县’]
因为生成器可以for循环也可以list()处理
近日碰到此问题,其实是很弱智的问题,但此知识点,为大家总结,也为自己加深记忆。没错总结下来就是string返回的是字符串,strings返回的是生成器,stripped_strings返回的也是个生成器// A code blockvar foo = 'bar';// An highlighted blockfrom bs4 import BeautifulSoup as bsurl
报错原因是传入的是类对象,可你传进的参数是字符串,找到传参的位置改过来即可
补充知识:’dict’ object has no attribute ‘has_key’ 解决办法
最近开始学习Python,安装上最新的Python3.6.5 在使用django的时候 出现如下错误
‘dict’ object has no attribute ‘has_key’
保留犯罪现场:
犯罪现场2:
查阅资料发现,Python3以后删除了has_key()方法
解决办法:
if dict.has_key(key1):
if key1 in adict:
在运行嵩天老师python爬虫课中单元6中的实例“中国大学排名爬虫”会出现如下图错误:AttributeError: ‘NoneType’ object has no attribute ‘children’
意思是 ‘NoneType’ 对象没有属性 ‘children’ ,这个错误说明’children’ 属性的对象 soup 是一个空类型,那就意味着soup = BeautifulSoup(html,‘html.parser’)中soup并没有得到解析出来的html页面,那就是说在调用getHTMLText(url)函数时这个函数并没有得到url链接对应的网页信息。错误就出在get
sams = pd.array(['2weq','2','2432','2','2ewq','2','2ew','1'])
sam = pd.unique(sams)
sam,tolist()
想要利用pd的unique函数将列表里的数据进行去重处理,但是其返回的是一个np.array若想,继续以list的数据类型来处理文件,用上面的方法会报错:
AttributeError Traceback (most recent call
学习selenium定位元素,老师写了send_key(),而我怎么也没点进这个方法,一直提示
selenium python send_key error: list object has no attribute
故寻求大神
get到2种方法都可以解决,记录一下
PS:[0]还不知道啥意思,等我在深入学习回头理解一下@
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
userID = driver.find_eleme
>>> help(array)
#创建数组,相当于初始化一个数组,如:d={},k=[]等等
array(typecode [, initializer]) -- create a new array
#a=array.array('c'),决定着下面操作的是字符,并是单个字符
#a=array.array
msg_dict = get_news()
# 连接redis,可以在连接时直接添加 decode_responses=True,这样在输入结果的时候直接是 str 类型,而不是 byte 类型
r = redis.Redis(**redis_info, deco.
问题所在:
我的数据本事应该是tensor类型,可以to(device),但是却报错是list(列表)所以无法’to’。
于是在出错前的语句先print(images),发现是[tensor[…], …],那问题很简单,使用images = torch.stack(images, dim=1),将列表元素取出(即list类型转换成tensor类型),大功告成!
Traceback (most recent call last):
File "E:/appium-test/test_opensdk20181227.py", line 32, in <module>
driver.find_elements_by_class_name('android.widget.Button').cl...
心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,谦虚,自律,反思,成长,还算是比较正能量的博主,公益免费传播……内心特别想在AI界做出一些可以推进历史进程影响力的东西(兴趣使然,有点小情怀,也有点使命感呀)……
05-07
这个错误通常出现在使用了matplotlib库中的fill_between函数时,输入参数不符合要求。fill_between函数用于填充两个曲线之间的区域,它要求输入x轴和y轴的值,但是如果你的输入参数是一个列表(list),那么就会出现'list' object has no attribute 'fill_between'的错误。
解决方法是,确保你的输入参数是一个numpy数组或者pandas的Series对象,这些对象都可以被fill_between函数正确处理。如果你的输入确实是一个列表,那么你可以使用numpy库中的array函数将其转化为numpy数组。例如:
```python
import matplotlib.pyplot as plt
import numpy as np
x = [1,2,3,4,5]
y1 = [1,4,9,16,25]
y2 = [0,2,4,6,8]
# 将x和y转化为numpy数组
x_arr = np.array(x)
y1_arr = np.array(y1)
y2_arr = np.array(y2)
plt.fill_between(x_arr, y1_arr, y2_arr)
plt.show()
这样就可以避免'list' object has no attribute 'fill_between'的错误。