davohkiin 2022-03-21 16:49 采纳率: 0%
浏览 57

爬虫爬取网站排行榜显示索引超出范围

import re
import requests
from bs4 import BeautifulSoup
import bs4

url = 'https://movie.douban.com/chart'
head={
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64)AppleWebKit/535.1(KHTML, like Gecko)Chrome/14.0.835.163 Safari/535.1'
}
response = requests.get(url,headers = head)
html = response.text
findLink = re.compile(r'<a class="nbg" href="(.?)" title=',re.S) # 影片链接规则
findTitle = re.compile(r'title="(.*?)">',re.S) # 影片片名
findRating = re.compile(r'rating_nums">(.
?)',re.S) # 影片评分
findInq = re.compile(r'

(.*?)

',re.S) # 概况
soup = BeautifulSoup(html,"html.parser")
datalist = []
for item in soup.find_all('div',class_=""):
#print(item)
data = []

item = str(item)           
link = re.findall(findLink,item)[0]    # findall返回的是列表 
links = "链接:"+link
data.append(links)
 
title = re.findall(findTitle,item)[0]
titles = "电影:"+title
data.append(titles)

img

rating = re.findall(findRating,item)[0]
ratings = "评分:"+rating
data.append(ratings)
        
inq = re.findall(findInq,item)[0]
inqs = "概况:"+inq
data.append(inqs)
                    
datalist.append(data)   #处理好的一部电影信息             
print(datalist)
  • 写回答

1条回答 默认 最新

  • bekote 2022-03-21 17:21
    关注

    加个判断

    
    lst = re.findall(findLink,item)
    if len(lst) > 0:
      link = lst[0]
      links = "链接:"+link
      data.append(links)
    
    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 3月21日
  • 创建了问题 3月21日

悬赏问题

  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价