从b站看了如何爬取豆瓣电影top250的视频,就是跟着练习实现了,就把代码贴了一下。

from bs4 import BeautifulSoup  #网页解析,获取数据
import re                      #正则表达式,进行文字匹配
import urllib.request,urllib.error     #制定URL,获取网页数据
import xlwt                      #进行excel操作
import sqlite3                  #进行数据库操作def main():baseurl = "https://movie.douban.com/top250?start="#爬取网页datalist =getDate(baseurl)savepath ="f:\\douban.xls"#保存数据saveDate(datalist,savepath)
#影片详情的正则表达式
findlink = re.compile(r'<a href="(.*?)">')            #创建正则表达式对象,表示规则(字符串的模式)
#影片图片
findimgsrc = re.compile(r'<img .*src="(.*?)"',re.S)    #RE.S让换行符包含在字符中
#影片片名
findtitle = re.compile(r'<span class="title">(.*)</span>')
#影片评分
findrating = re.compile(r'<span class="rating_num" property="v:average">(.*)</span>')
#找到评价人数
findnumber =re.compile(r'<span>(\d*)人评价</span>')
#找到概况
findinq = re.compile(r'<span class="inq">(.*)</span>')
#找到影片的相关内容
findBD = re.compile(r'<p class="">(.*?)</p>',re.S)
#爬取网页
def getDate(baseurl):datalist = []for i in range(0,10):         #调用获取页面信息的函数,10次url =baseurl +str(i*25)html =askURL(url)             #保存获取到的网页源码#逐一进行解析soup = BeautifulSoup(html,"html.parser")   #对html解析for item in soup.find_all('div',class_ ="item"):      #查找符合要求的字符串,形成列表,class加下划线表示属性#print(item)data = []           #保存一部电影的所有信息item = str(item)     #转换字符#影片详情连接link =re.findall(findlink,item)[0]       #re库用来通过正则表达式查找指定的字符串data.append(link)imgsrc = re.findall(findimgsrc,item)[0]data.append(imgsrc)title = re.findall(findtitle, item)if (len(title)==2):ctitle = title[0]                      #添加中国名data.append(ctitle)otitle =title[1].replace("/","")    #去掉无关的符号data.append(otitle)else:data.append(title[0])data.append(' ')             #外国名留空number = re.findall(findnumber, item)[0]          #添加评价人数data.append(number)rating = re.findall(findrating, item)[0]         #添加评分data.append(rating)inq = re.findall(findinq, item)if len(inq) !=0:inq = inq[0].replace("。","")      #去掉句号data.append(inq)            #添加概述else:data.append(" ")        #留空BD = re.findall(findBD, item)[0]BD = re.sub('<br(\s+)?/>(\s+)?'," ",BD)      #去掉<br/>BD = re.sub('/'," ",BD)                    #去掉/data.append(BD.strip())             #去掉前后空格datalist.append(data)# print(datalist)            #测试return datalist#得到指定一个URL的网页内容
def askURL(url):#head用来模拟浏览器头部信息,伪装,用户代理head = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64);AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"}request = urllib.request.Request(url,headers=head)html =""try:response = urllib.request.urlopen(request)html = response.read().decode("utf-8")#print(html)except urllib.error.URLError as e:if hasattr(e,"code"):print(e.code)if hasattr(e,"reason"):print(e.reason)return html#保存数据
def saveDate(datalist,savepath):book = xlwt.Workbook(encoding='utf-8',style_compression=0)         #创建workook对象sheet = book.add_sheet('豆瓣电影TOP250',cell_overwrite_ok=True)col = ("电影详情链接",'图片链接','影片中文名','影片外国名','评价数','评分','概况','相关信息')for i in range(0,8):sheet.write(0,i,col[i])        #列名for i in range(0,250):data = datalist[i]for j in range(0,8):sheet.write(i+1,j,data[j])     #数据book.save(savepath)         #保存if __name__ =="__main__":#调用函数main()

最后的excel表存储的内容

第一次练手爬取豆瓣电影排名top250相关推荐

  1. python 爬取豆瓣电影排名

    python 爬取豆瓣电影排名 任务要求 获取豆瓣电影排名前250信息 打包进文件夹 代码展示 代码如下 import requests#导入requests库 import redef GetHtm ...

  2. python爬虫(一)爬取豆瓣电影排名前50名电影的信息

    python爬虫(一)爬取豆瓣电影排名前50名电影的信息 在Python爬虫中,我们可以使用beautifulsoup对网页进行解析. 我们可以使用它来爬取豆瓣电影排名前50名的电影的详细信息,例如排 ...

  3. 利用正则表达式爬取豆瓣电影排名

    利用正则表达式爬取豆瓣电影排名 一/正则表达式 二/用正则表达式爬取豆瓣top250 一/正则表达式 很多不太懂正则的朋友,在遇到需要用正则校验数据时,往往是在网上去找很久,结果找来的还是不很符合要求 ...

  4. 爬取豆瓣电影排行top250

    功能描述V1.0: 爬取豆瓣电影排行top250 功能分析: 使用的库 1.time 2.json 3.requests 4.BuautifulSoup 5.RequestException 上机实验 ...

  5. 爬取豆瓣电影排名前250部电影并且存入Mongo数据库

    2019独角兽企业重金招聘Python工程师标准>>> 需求:爬取豆瓣电影top250(https://movie.douban.com/top250)的电影数据: 标题(title ...

  6. Scrapy框架学习 - 爬取豆瓣电影排行榜TOP250所有电影信息并保存到MongoDB数据库中

    概述 利用Scrapy爬取豆瓣电影Top250排行榜电影信息,并保存到MongoDB数据库中 使用pymongo库操作MOngodb数据库 没有进行数据清洗 源码 items.py class Dou ...

  7. 爬取豆瓣电影排行榜top250

    爬取豆瓣电影top250 平时不知道看什么电影,正好最近学习了爬虫,自己试着把电影排行下载下来,边看边学两不误. 下面直接上代码: import requests from bs4 import Be ...

  8. BeautifulSoup爬取豆瓣电影排名

    豆瓣电影排名网址:https://movie.douban.com/top250?start=0&filter= 在进去豆瓣电影排名后,打开浏览器的检查功能分析爬取页面源代码,在写请求代码之前 ...

  9. 《进击的虫师》爬取豆瓣电影海报(Top250)

    有人想学一点编程, 但是一直没有找到感兴趣的切入点,可以简单的爬虫入手! 几十行代码, 轻松爬取豆瓣Top250电影数据,即刻体会编程的乐趣... 工具介绍: Python3(python是很容易上手 ...

最新文章

  1. 配置伪静态(URL重写)
  2. 阿里云服务器CentOS7版本yum方式安装mysql
  3. Android画图最基本的三个对象(Color,Paint,Canvas)
  4. sqlserver with ties
  5. 小小weibo音乐播放器
  6. python报错“IndentationError: unexpected indent“的两三解决方法
  7. 无源波分和彩光模块_易飞扬彩光模块百科
  8. 浪潮服务器nf5270m5做raid_一文读懂服务器centos7.0安装指导指南(详细)
  9. 28岁才转行软件测试,目前32了,我的一些经历跟感受
  10. 服务器2016系统怎么关防火墙,服务器怎么关闭防火墙
  11. 阿里巴巴和淘宝的校园应聘经历
  12. 记录一次wls2上ubuntu20.04版本中安装docker
  13. 徒步和骑行必备的干粮
  14. 面试官突然问我什么是后端?我通俗易懂的给他讲清楚了!
  15. 数据机房智能母线槽技术分析-Susie 周
  16. css svg使用_使用CSS使SVG响应
  17. script标签之type = module
  18. iOS七牛云上传图片
  19. STM32实现串口下载
  20. VMware虚拟机安装Linux系统教程

热门文章

  1. 小米手环导出心率_小米手环给卫生纸测出心率?这回真相了
  2. 奇舞周刊第 350 期:前端状态管理设计,优雅与妥协的艺术
  3. miui7 android系统设置,MIUI7怎么设置神隐模式?小米MIUI7神隐模式设置方法图解
  4. 全球十大正规贵金属交易价格走势app软件排名(2023口碑榜)
  5. 元素形式展示初等变换与初等矩阵的关系
  6. iOS短视频加直播项目: 仿抖音的短视频(推荐加热门页面)
  7. SSM整合Shiro___多认证Realm
  8. 苹果手机透明桌面_原来通过桌面图标就能知道苹果手机真假!涨见识了
  9. 使用腾讯表格文字识别(TableOCR)
  10. csgo官方服务器连不上w7系统,技术员帮您win7玩csgo官方匹配提示vac无法验证您游戏会话的技巧?...