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 相关文章推荐
pyside写ui界面入门示例
Jan 22 Python
Python中lambda的用法及其与def的区别解析
Jul 28 Python
Python中用Spark模块的使用教程
Apr 13 Python
python使用xmlrpclib模块实现对百度google的ping功能
Jun 02 Python
python连接数据库的方法
Oct 19 Python
使用python中的in ,not in来检查元素是不是在列表中的方法
Jul 06 Python
钉钉群自定义机器人消息Python封装的实例
Feb 20 Python
通过python实现弹窗广告拦截过程详解
Jul 10 Python
python3.6生成器yield用法实例分析
Aug 23 Python
python打印直角三角形与等腰三角形实例代码
Oct 20 Python
Django如何实现防止XSS攻击
Oct 13 Python
Python实现老照片修复之上色小技巧
Oct 16 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高级编程-函数-郑阿奇
2011/07/04 PHP
PHP的array_diff()函数在处理大数组时的效率问题
2011/11/27 PHP
CI框架中site_url()和base_url()的区别
2015/01/07 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
html文本框提示效果的示例代码
2014/06/28 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
js复制内容到剪贴板代码,js复制代码的简单实例
2016/10/27 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
微信小程序之蓝牙的链接
2017/09/26 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
layui点击左侧导航栏,实现不刷新整个页面,只刷新局部的方法
2019/09/25 Javascript
Vue数字输入框组件使用方法详解
2020/02/10 Javascript
js实现小时钟效果
2020/03/25 Javascript
JQuery表单元素取值赋值方法总结
2020/05/12 jQuery
JavaScript经典案例之简易计算器
2020/08/24 Javascript
浅谈Django学习migrate和makemigrations的差别
2018/01/18 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
入党申请人的自我鉴定
2013/12/01 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
小区文明倡议书
2014/05/16 职场文书
劳动纠纷调解协议书格式
2014/11/30 职场文书
小学班主任事迹材料
2014/12/17 职场文书
人才市场接收函
2015/01/30 职场文书
2015医德医风个人工作总结
2015/04/02 职场文书
开票证明
2015/06/23 职场文书
社会实践心得体会范文
2016/01/14 职场文书
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL
如何利用Python实现n*n螺旋矩阵
2022/01/18 Python