python爬取豆瓣电影TOP250数据


Posted in Python onMay 23, 2021

在执行程序前,先在MySQL中创建一个数据库"pachong"。

import pymysql
import requests
import re


#获取资源并下载
def resp(listURL):
    #连接数据库
    conn = pymysql.connect(
        host = '127.0.0.1',
        port = 3306,
        user = 'root',
        password = '******',  #数据库密码请根据自身实际密码输入
        database = 'pachong', 
        charset = 'utf8'
    )

    #创建数据库游标
    cursor = conn.cursor()

    #创建列表t_movieTOP250(执行sql语句)
    cursor.execute('create table t_movieTOP250(id INT PRIMARY KEY 												auto_increment NOT NULL ,movieName VARCHAR(20) NOT NULL 									,pictrue_address VARCHAR(100))')

    try:
        # 爬取数据
        for urlPath in listURL:
            # 获取网页源代码
            response = requests.get(urlPath)
            html = response.text

            # 正则表达式
            namePat = r'alt="(.*?)" src='
            imgPat = r'src="(.*?)" class='

            # 匹配正则(排名【用数据库中id代替,自动生成及排序】、电影名、电影海报(图片地址))
            res2 = re.compile(namePat)
            res3 = re.compile(imgPat)
            textList2 = res2.findall(html)
            textList3 = res3.findall(html)

            # 遍历列表中元素,并将数据存入数据库
            for i in range(len(textList3)):
                cursor.execute('insert into t_movieTOP250(movieName,pictrue_address) 									VALUES("%s","%s")' % (textList2[i],textList3[i]))

        #从游标中获取结果
        cursor.fetchall()

        #提交结果
        conn.commit()
        print("结果已提交")

    except Exception as e:
        #数据回滚
        conn.rollback()
        print("数据已回滚")

    #关闭数据库
    conn.close()

#top250所有网页网址
def page(url):
    urlList = []
    for i in range(10):
        num = str(25*i)
        pagePat = r'?start=' + num + '&filter='
        urL = url+pagePat
        urlList.append(urL)
    return urlList


if __name__ == '__main__':
    url = r"https://movie.douban.com/top250"
    listURL = page(url)
    resp(listURL)

结果如下图:

python爬取豆瓣电影TOP250数据

python爬取豆瓣电影TOP250数据

以上就是我的分享,如果有什么不足之处请指出,多交流,谢谢!

以上就是python爬取豆瓣电影TOP250数据的详细内容,更多关于python爬取豆瓣电影的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python 正则表达式操作指南
May 04 Python
Python内置函数——__import__ 的使用方法
Nov 24 Python
详解Python核心编程中的浅拷贝与深拷贝
Jan 07 Python
python实现简单神经网络算法
Mar 10 Python
实用自动化运维Python脚本分享
Jun 04 Python
python_opencv用线段画封闭矩形的实例
Dec 05 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
Feb 08 Python
pip安装python库的方法总结
Aug 02 Python
基于python操作ES实例详解
Nov 16 Python
解决pycharm中的run和debug失效无法点击运行
Jun 09 Python
python识别验证码的思路及解决方案
Sep 13 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 Python
基于Python绘制子图及子图刻度的变换等的问题
聊聊pytorch测试的时候为何要加上model.eval()
May 23 #Python
PyTorch 如何自动计算梯度
May 23 #Python
解决numpy和torch数据类型转化的问题
May 23 #Python
Python 用户输入和while循环的操作
May 23 #Python
解决Tkinter中button按钮未按却主动执行command函数的问题
May 23 #Python
python tkinter Entry控件的焦点移动操作
May 22 #Python
You might like
常用的php对象类型判断
2008/08/27 PHP
mysql limit查询优化分析
2008/11/12 PHP
php 无限级 SelectTree 类
2009/05/19 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
php使用mysqli和pdo扩展,测试对比连接mysql数据库的效率完整示例
2019/05/09 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
javascript Excel操作知识点
2009/04/24 Javascript
javascript中简单的进制转换代码实例
2013/10/26 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
详解Angularjs filter过滤器
2016/02/06 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
第一次接触神奇的Bootstrap表单
2016/07/27 Javascript
JS中input表单隐藏域及其使用方法
2017/02/13 Javascript
Nodejs监听日志文件的变化的过程解析
2019/08/04 NodeJs
详解利用eventemitter2实现Vue组件通信
2019/11/04 Javascript
Vue项目前后端联调(使用proxyTable实现跨域方式)
2020/07/18 Javascript
Vue中computed及watch区别实例解析
2020/08/01 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
Python脚本实现12306火车票查询系统
2016/09/30 Python
Python模拟用户登录验证
2017/09/11 Python
python实现二维数组的对角线遍历
2019/03/02 Python
python利用wx实现界面按钮和按钮监听和字体改变的方法
2019/07/17 Python
Python图像处理库PIL的ImageGrab模块介绍详解
2020/02/26 Python
python微信公众号开发简单流程实现
2020/03/09 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
HTML5 canvas画矩形时出现边框样式不一致的解决方法
2013/10/14 HTML / CSS
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
软件测试面试题
2014/01/05 面试题
政法大学毕业生自荐信范文
2014/01/01 职场文书
校园学雷锋活动月总结
2014/03/09 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
实习指导教师评语
2014/12/30 职场文书
Django模型层实现多表关系创建和多表操作
2021/07/21 Python
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js