用Python刮

用Python刮,python,web-scraping,Python,Web Scraping,我用python编写了一段代码,以便从TripAdvisor中获取一些数据(来自评论的评级)。问题是,每当我运行代码时,它都会给我不同的行,并且从不删除所有的网页 出现的索引错误是: Traceback (most recent call last): File "C:/Users/thimios/PycharmProjects/TripadvisorScrapping/proxiro.py", line 26, in <module> rating = soup.fin

我用python编写了一段代码,以便从TripAdvisor中获取一些数据(来自评论的评级)。问题是,每当我运行代码时,它都会给我不同的行,并且从不删除所有的网页

出现的索引错误是:

Traceback (most recent call last):
  File "C:/Users/thimios/PycharmProjects/TripadvisorScrapping/proxiro.py", line 26, in <module>
    rating = soup.findAll("div", {'class': 'rating reviewItemInline'})[i]
IndexError: list index out of range

我想trip advisor不会完全访问数据,知道吗

当您试图按索引访问列表中的元素,但该索引不存在时,会遇到此错误

我已经运行了您的代码,它会打印:

50
50
50
50
50
50
40
40
40
50
尽管如此,循环的方式并不是最符合python的方式,也容易受到很多索引错误的影响

您可以做的是替换此:

for i in range(0,10):
    rating = soup.findAll("div", {'class': 'rating reviewItemInline'})[i]
与:

for rating in soup.findAll("div", {'class': 'rating reviewItemInline'}) :

这也将解决该错误。

当您试图按索引访问列表中的元素时,会遇到该错误,而该索引不存在

我已经运行了您的代码,它会打印:

50
50
50
50
50
50
40
40
40
50
尽管如此,循环的方式并不是最符合python的方式,也容易受到很多索引错误的影响

您可以做的是替换此:

for i in range(0,10):
    rating = soup.findAll("div", {'class': 'rating reviewItemInline'})[i]
与:

for rating in soup.findAll("div", {'class': 'rating reviewItemInline'}) :

这也将解决错误。

次要术语更正:术语是“刮”和“刮”。次要术语更正:术语是“刮”和“刮”。感谢您的帮助。我尝试你的方式,是的,它跑得更快!!!!但同样的问题在第40页,它再次崩溃,出现以下消息:Traceback(最近一次调用last):文件“C:/Users/thimios/PycharmProjects/TripadvisorScrapping/proxiro.py”,第40行,在Organization=Organization1.text.replace(“,”)。replace('Review of','').strip()AttributeError:'NoneType'对象没有属性'text',现在,这与您之前报告的错误不同。这是因为Organization1值为'
None
',因为没有类完全等于
标题名称的元素"
。前面的一个原因是您试图访问一个不存在的索引位置。请在遇到行错误之前尝试打印值,这可能有助于您更快地调试。此外,请尝试理解不同错误的不同含义以及遇到这些错误的原因。尝试将
标题名称
替换为
标题ing_height
因为这是一个静态类名。感谢您的帮助。我尝试了您的方法,是的,它运行得更快!!!!但同样的问题在第40页,它再次崩溃,并显示以下消息:Traceback(最近一次调用last):File“C:/Users/thimios/PycharmProjects/TripadvisorScrapping/proxiro.py”,第40行,在Organization=Organization1.text.replace(“,”).replace(“,”).replace('Review of',”).strip()AttributeError:“非类型”对象现在没有属性“文本”,这与您之前报告的错误不同。这是因为Organization1值为“
None
”,因为没有类完全等于
“heading\u name”的元素
。前面的一个原因是您试图访问一个不存在的索引位置。请在遇到行错误之前尝试打印值,这可能有助于您更快地调试。此外,请尝试理解不同错误的不同含义以及遇到这些错误的原因。尝试将
标题名称
替换为
标题ing_height
,因为这是一个静态类名。