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 相关文章推荐
github配置使用指南
Nov 18 Python
教你使用python实现微信每天给女朋友说晚安
Mar 23 Python
python随机数分布random测试
Aug 27 Python
django中forms组件的使用与注意
Jul 08 Python
Python文本处理简单易懂方法解析
Dec 19 Python
python numpy生成等差数列、等比数列的实例
Feb 25 Python
python判断正负数方式
Jun 03 Python
python的pip有什么用
Jun 17 Python
python pandas dataframe 去重函数的具体使用
Jul 20 Python
python使用多线程查询数据库的实现示例
Aug 17 Python
Python绘制地图神器folium的新人入门指南
May 23 Python
python 离散点图画法的实现
Apr 01 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 如何获取数组第一个值
2013/08/06 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
2016/01/08 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
php无限极分类实现方法分析
2019/07/04 PHP
jquery 插件开发方法小结
2009/10/23 Javascript
Jquery iframe内部出滚动条
2010/02/11 Javascript
基于Jquery制作的幻灯片图集效果打包下载
2011/02/12 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
javascript移出节点removeChild()使用介绍
2014/04/03 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
js模块加载方式浅析
2017/08/12 Javascript
Vue-cli 使用json server在本地模拟请求数据的示例代码
2017/11/02 Javascript
vue 的点击事件获取当前点击的元素方法
2018/09/15 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
解决vue2中使用elementUi打包报错的问题
2020/09/22 Javascript
python笔记(1) 关于我们应不应该继续学习python
2012/10/24 Python
python计算牛顿迭代多项式实例分析
2015/05/07 Python
浅析Python中将单词首字母大写的capitalize()方法
2015/05/18 Python
python与C互相调用的方法详解
2017/07/14 Python
pandas中去除指定字符的实例
2018/05/18 Python
解决Python2.7中IDLE启动没有反应的问题
2018/11/30 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
学校交通安全责任书
2014/08/25 职场文书
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android
Win11怎么把合并的任务栏分开 Win11任务栏合并分开教程
2022/04/06 数码科技