qq_40406414 2017-11-12 03:45 采纳率: 0%
浏览 2985

python爬取豆瓣电影 一直报错 求解决

==== RESTART: C:\Users\123\AppData\Local\Programs\Python\Python36\类的学习.py ====
Traceback (most recent call last):
File "C:\Users\123\AppData\Local\Programs\Python\Python36\类的学习.py", line 29, in
movies_list=get_review(getHtmlText(url))
File "C:\Users\123\AppData\Local\Programs\Python\Python36\类的学习.py", line 20, in get_review
dict['name']=tag_li.find('span','titlt')[0].string
TypeError: 'NoneType' object is not subscriptable

——代码如下—————————————————————————————
import requests
from bs4 import BeautifulSoup
import bs4
def getHtmlText(url):
try:
r = requests.get(url, timeout = 30);
r.raise_for_status();
r.encoding = r.apparent_encoding;
return r.text;

except:
    return ""

def get_review(html):
movies_list=[]
soup=BeautifulSoup(html,"html.parser")
soup=soup.find('ol','grid_view')
for tag_li in soup.find_all('li'):
dict={}
dict['rank']=tag_li.find('em').string
dict['name']=tag_li.find('span','titlt')[0].string
dict['score']=tag_li.find('span','rating_num').string
if(tag_li.find('span','inq')):
dict['desc']=tag_li.find('span','inq').string
movies_list.append(dict)
return movies_list
if name=='__main__':
for i in range(10):
url='http://movie.douban.com/top250?start=%s&filter=&type=' %(i*25)
movies_list=get_review(getHtmlText(url))

    for movie_dict in movies_list:
        print('电影排名:'+movie_dict['rank'])
        print('电影名称:'+movie_dict.get('name'))
        print('电影评分:'+movie_dict.get('score'))
        print('电影评词:'+movie_dict.get('desc','无评词'))
        print('------------------------------------------------------')
  • 写回答

3条回答

  • threenewbee 2017-11-12 03:52
    关注

    get_reviewdict['name']=tag_li.find('span','titlt')[0].string
    仔细看下,它对应的html层级,能不能找到这个元素

    评论

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services