TypeError: list indices must be integers or slices, not str

在 利用BeautifulSoup爬取网址的时候总是遇到TypeError: list indices must be integers or slices, not str
部分的代码是这样的

def loadHTML(html):
	soup = BeautifulSoup(html,"html.parser")
	text = soup.find_all("img","origin_image zh-lightbox-thumb lazy")["data-actualsrc"]
	for each in text:
	    print(each)

准备提取的url如下图所示

<img src="**https://pic3.zhimg.com/80/v2-9ad4fdb451e2dd3ee2d124bcd55dbf09_hd.jpg" data-size="normal**" data-rawwidth="2660" data-rawheight="806" data-default-watermark-src="https://pic4.zhimg.com/50/v2-704439adebbd0b4015026dbaf198b946_hd.jpg" class="origin_image zh-lightbox-thumb lazy" data-original="https://pic3.zhimg.com/v2-9ad4fdb451e2dd3ee2d124bcd55dbf09_r.jpg" data-actualsrc="https://pic3.zhimg.com/50/v2-9ad4fdb451e2dd3ee2d124bcd55dbf09_hd.jpg" data-lazy-status="ok" width="2660">

后来发现是系统把 soup.find_all(“img”,“origin_image zh-lightbox-thumb lazy”)不能识别为一个列表,实际上这个是表中表结构

所以根据你的需求更改啦,如果你只想要第一个的第一个网址的话,那就是soup.find_all(“img”,“origin_image zh-lightbox-thumb lazy”)[0][‘tag’]啦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值