Python爬取豆瓣top榜电影
希望阅读本文的时候,你已经装好python环境。该程序用于爬取豆瓣电影数据,并将数据保存到mysql。
1.你需要在你的python中下载需要的模块,bs4,xlwt,以及pymysql
2.程序主要的步骤是分析网页,提取网页中的数据,存储。具体的mysql表结构如下:
3.python过程代码
获取网页内容
#得到一个指定url的网页内容
def askUrl(url):#代理,模拟浏览器发送请求,防止被检测为爬虫head = {"User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36"}request = urllib.request.Request(url , headers=head)html = ""try:response = urllib.request.urlopen(request)html = response.read().decode("utf-8")except urllib.error.URLError as e:if hasattr(e,"code"):print(e.code)if hasattr(e,"code"):print(e.reason) return html
分析网页并得到数据
#爬取网页
def getData(baseUrl):dataList = []for i in range(0,10):url = baseUrl + str(i * 25)html = askUrl(url)#解析数据soup = BeautifulSoup(html,"html.parser")for item in soup.find_all("div" , class_ = "item"): #找div class属性为item的data = [] # 保存信息item = str(item)#正则查找指定字符串#链接link = re.findall(findLink,item)[0] data.append(link)#图片imgSrc = re.findall(findImgSrc,item)[0]data.append(imgSrc)#标题titles = re.findall(findTitle,item)if(len(titles) == 2):cTitle = titles[0]data.append(cTitle)eTitle = titles[1].replace("/","")data.append(eTitle)else:data.append(titles[0])data.append("")#评分rating = re.findall(findRating,item)[0]data.append(rating)#评价人数judge = re.findall(findJudge,item)[0]data.append(judge)#标识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) #数据整理,替换不要的内容#去掉前后空格并加入列表data.append(bd.strip())#加入列表dataList.append(data) return dataList
数据存储
#存储数据到Mysql
def saveDataToMysql(dataList):# 打开数据库连接(运行程序记得修改这个配置)db = pymysql.connect(host='localhost',user='root',password='123456',database='test')# 使用cursor()方法获取操作游标 cursor = db.cursor()#批量插入cursor.executemany('insert into douban_movie(link,img_src,chinese_title,foreign_title,rating,judge_num,inq,content) values(%s,%s,%s,%s,%s,%s,%s,%s)', dataList) try:# 提交到数据库执行db.commit()except:# 如果发生错误则回滚db.rollback()# 关闭数据库连接db.close()
4.执行后的mysql结果:
如果需要完整源码的可以上github自取,地址:
python豆瓣电影top数据爬取,并保存至mysql
每天进步一点点,开心也多一点点
Python爬取豆瓣top榜电影相关推荐
- Python爬取豆瓣热映电影
Python爬取豆瓣热映电影 # encoding: utf-8import requests from lxml import etree# 1. 将目标网站上的页面抓取下来 headers = { ...
- 用Python爬取豆瓣首页所有电影名称、每部电影影评及生成词云
1.爬取环境: window 7 Chrome 浏览器 注册豆瓣.注册超级鹰 2.安装第三方库:安装第三方库: 主程序用到的库有 import sys, time import pytesseract ...
- 爬取豆瓣Top 250电影信息、下载图片、存储到Excel,快来试试吧!
写的第一个还算有点复杂的Python的程序,有点意思,感觉Python的实用性和开发效率实在很优秀,O(∩_∩)O哈哈~ 源代码在最后,有兴趣的可以试试跑一下. 爬虫地址豆瓣电影 Top 250. 文 ...
- python爬取豆瓣图书榜单 并存放数据库心得
最近javaweb 项目存放图书的数据库存放的图书太少 决定去豆瓣榜单 爬取一些数据 首先是爬取网页得到数据 以字典类型先储存下来 贴上代码 def init(self, keyword): self ...
- Python爬取豆瓣Top250的电影
流程图如下: 爬取网页-解析网页-存储数据到Excel和数据库中 源代码如下: 如果被豆瓣封Ip(一般被封第二天就解封了),可以自己设置代理Ip,或者自己登录账号后将Cookie放到header中. ...
- python爬取豆瓣书籍、电影等搜索结果,并解析html转成json格式
本文以豆瓣首页搜索图书.电影等结果页面为例,使用python的BeautifulSoup解析页面内标题.作者.出版社.评分.简介.缩略图等内容,并转成json格式进行存储. 声明:本文仅作学习pyth ...
- python爬取豆瓣电影榜单
python爬取豆瓣电影榜单 python爬取豆瓣电影榜单并保存到本地excel中,以后就不愁没片看了. 目标 确定我们想要抓取的电影的相关内容. 抓取豆瓣top250电影的排名.电影名.评价(总结很 ...
- python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...
def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...
- python 爬取豆瓣top100电影页面
python 爬取豆瓣top100电影页面 运行结果截图: 代码: (原网站:https://movie.douban.com/top250) 1.将页面保存 避免多次访问 (登陆状态需页面cooki ...
- 利用python爬取豆瓣电影top250
利用python爬取豆瓣电影top250: 注:本内容只是作为个人学习记录 1.业务分析 进入网页https://movie.douban.com/top250 可以看见每部电影都呈现在眼前,点击电影 ...
最新文章
- oracle 计算公式解析,用PL/SQL如何实现公式解析计算
- 用unity制作简单的太空游戏(1):简单飞船控制
- spark出现bytes consumed error的问题
- 升降压斩波电路matlab,升降压直流斩波电路及matlab仿真.doc
- Flask爱家租房--房屋管理(搜索房屋列表)
- miniblink载入html,winform使用miniblink展示html(全屏)
- node.js中获取请求当前页的前一页URL地址
- 08TensorFlow2.0基础--8.5张量运算
- 【三维路径规划】基于matlab RRT_Star算法三维路径规划【含Matlab源码 1571期】
- 深度学习:人脸识别算法孪生网络(Siamese Network)
- php 126怎么设置发送邮箱验证码,邮箱发送验证码(示例代码)
- SATI阅读重点有哪些?
- Unity3D 学习笔记 —— Tween对象的实现与动作管理
- 【ncnn】源码阅读理解(三)——blobs
- Android系统控件获取自定义属性
- 计算机学术为啥分要比专硕低那么多,专硕,凭什么是鄙视链最底端的一群人
- 基于人工势场法的二维平面内无人机的路径规划的matlab仿真,并通过对势场法改进避免了无人机陷入极值的问题
- 【复变函数与积分变换】05. 留数
- Apple Open Source
- HTTP缓存机制和原理
热门文章
- 网络安全技能竞赛通关教程
- DirectX12(D3D12)基础教程(一)——基础教程
- form表单提交到controller时出现404的尴尬问题(或链接不到.action、链接不到.do跳404的问题)
- 用matlab求得矩阵的最大特征值
- BE-Gradient 微流控芯片用于胶质母细胞瘤的研究
- 利用python下载视频
- 启动mysql错误解决方案
- Pandas: Drop函数(Dataframe删除指定行列)
- iOS 制作圆形头像图片
- 计算机桌面图片打不开显示内存不足,windows照片查看器无法显示此图片,因为计算机上的可用内存可能不足解决方法...