8wy403208 发表于 2021-5-22 21:59:35

照着小甲鱼写的不明白为什么会报错



import requests
import bs4
import re


def open_url(url):

    headers = {
      "User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64)"
      "AppleWebKit/537.36 (KHTML, like Gecko)"
      "Chrome/90.0.4430.85 Safari/537.36"
      }

    res = requests.get(url,headers=headers)

    return res

def find_movies(res):
   
    soup = bs4.BeautifulSoup(res.text,'html.parser')

    movise = []
    targets = soup.find_all("div",class_="hd")
    for each in targets:
      movies.append(each.a.span.text)


    ranks = []
    targets = soup.find_all("div",class_="bd")
    for each in targets:

      try:
            messages.append(each.p.text.split('\n').strip()+each.p.text.split('\n').strip())
            
      except:
            continue


    result = []
    length = len(movies)
    for i in range(length):
      result.append(movies+ranks+messages+'\n')


    return result


def main():
    host = "https://movie.douban.com/top250"
    res = open_url(host)
    depth = find_depth(res)


    result = []
    for i in range(depth):
      url = host+'/?start='+str(25*i)
      res = open_url(url)
      result.extend(find_movies(res))


    with open("豆瓣TOP250电影.txt","w",encoding="utf-8")as f:
      for each in result:
            f.write(each)


if __name__ == "__main__":

    main()



肖-肖 发表于 2021-5-22 21:59:36

第53行应该将
depth = find_depth(res)
改为
depth =find_movie(res)

南归 发表于 2021-5-23 09:17:44

真的是照着抄吗

白本羽 发表于 2021-5-23 09:49:29

????不看下代码的吗,定义中根本没有这个方法啊...要不改成find_movies试下

sc-tbm 发表于 2021-5-24 11:17:18

照着抄都能抄错???

chinkowu 发表于 2021-5-25 10:46:33

错误提示很清楚啊,整个代码里面没有找到这个find_depth方法啊。
页: [1]
查看完整版本: 照着小甲鱼写的不明白为什么会报错