退出代码 0 但没有输出

问题描述

我是 Python 和编码的新手。我找到了一个抓取网站代码,但是每当我运行该代码时,我得到的只是退出代码 0(我知道这很好,因为这意味着没有错误)但我没有得到任何输出。按照我正在使用的代码

有人知道如何解决这个问题吗?

from collections import Counter
import requests
from bs4 import BeautifulSoup


def my_start(url):
   my_wordlist = []
   my_source_code = requests.get(url).text
   my_soup = BeautifulSoup(my_source_code,'html.parser')
   for each_text in my_soup.findAll('div',{'class':'entry-content'}):
      content = each_text.text
      words = content.lower().split()
      for each_word in words:
         my_wordlist.append(each_word)
      clean_wordlist(my_wordlist)
# Function removes any unwanted symbols
def clean_wordlist(wordlist):
   clean_list =[]
   for word in wordlist:
      symbols = '!@#$%^&*()_-+={[}]|\;:"<>?/.,'
      for i in range (0,len(symbols)):
         word = word.replace(symbols[i],'')
      if len(word) > 0:
         clean_list.append(word)
   create_dictionary(clean_list)
def create_dictionary(clean_list):
   word_count = {}
   for word in clean_list:
      if word in word_count:
         word_count[word] += 1
      else:
         word_count[word] = 1
   c = Counter(word_count)
   # returns the most occurring elements
   top = c.most_common(10)
   print(top)
# Driver code
if __name__ == '__main__':
    my_start("https://www.tutorialspoint.com/python3/python_overview.htm/")

解决方法

您正在尝试搜索类 entry-content,但您从 HTML 获取的 URL 中似乎没有类。转到 URL 并检查该页面并找到您要查找的类并更新代码中以下行的行:

for each_text in my_soup.findAll('div',{'class':'entry-content'}):

在你的代码中,你永远不会进入这个 for 循环,其余的函数也不会被调用。

,

我在我的电脑上运行了你的代码。整个 for 循环(如下所述)没有运行。

   for each_text in my_soup.findAll('div',{'class':'entry-content'}):

这是因为该页面上有“entry-content”div,因此不会调用其余函数。当我提到网站代码中的 div 类时,该代码适用于其他网址。

下次尝试使用调试器或使用打印语句调试您的代码。祝你好运!