如何解决如何修复索引超出范围?
import requests
from bs4 import BeautifulSoup
import csv
from itertools import zip_longest
result = requests.get("https://wuzzuf.net/search/jobs/?a=hpb%7Cspbg&q=data")
src = result.content
soup = BeautifulSoup(src,"lxml")
Job_title = []
Firm_name = []
Job_titles = soup.find_all("a",{"class":"css-nn640c"})
Firm_names = soup.find_all("a",{"class":"css-17s97q8"})
for i in range(len(Job_titles)):
Job_title.append(Job_titles[i].text)
Firm_name.append(Firm_names[i].text)
Filelist = [Job_title,Firm_name]
Exported = zip_longest(*Filelist)
with open(r"C:\Users\****\Desktop\python\mydata.csv","w") as myfile:
wr = csv.writer(myfile)
wr.writerow("Job title","Company name")
wr.writerows(Exported)
我的代码有什么问题,它一直在生成这个错误”文件“C:\Users****\PycharmProjects\pythonProject\Test1\Scrape.py”,第 18 行,在 Firm_name.append(Firm_names[i].text) IndexError:列表索引超出范围 找到解决方案了,谢谢你的帮助
解决方法
for 循环基于 Job_titles 的长度而不是 Firm_names。 Job_titles 的元素可能比 Firm_names 的元素多。
,您面临的错误与 Firm_name 的大小有关,因为它比您在 Job_title 中使用的要小
,显示从 Beautiful Soup 输出的 job_titles 和 Firm_names 列表的长度。 Firm_names 列表的元素似乎比 job_titles 少。 因此不能通过相同的索引相互引用,因为在某些时候较短的列表将超出范围。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。