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实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
Jul 11 Python
Python使用Scrapy爬取妹子图
May 28 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
python实时获取外部程序输出结果的方法
Jan 12 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
python广度优先搜索得到两点间最短路径
Jan 17 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
Feb 11 Python
选择python进行数据分析的理由和优势
Jun 25 Python
爬虫代理池Python3WebSpider源代码测试过程解析
Dec 20 Python
Django 返回json数据的实现示例
Mar 05 Python
python与idea的集成的实现
Nov 20 Python
Python3 用什么IDE开发工具比较好
Nov 28 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分页函数代码(简单实用型)
2010/12/02 PHP
深入eAccelerator与memcached的区别详解
2013/06/06 PHP
php下Memcached入门实例解析
2015/01/05 PHP
在PHP中使用FastCGI解析漏洞及修复方案
2015/11/10 PHP
Laravel向公共模板赋值方法总结
2019/06/25 PHP
javascript算法学习(直接插入排序)
2011/04/12 Javascript
JQuery实现表格中相同单元格合并示例代码
2013/06/26 Javascript
IE6浏览器中window.location.href无效的解决方法
2014/11/20 Javascript
[原创]JQuery 在表单提交之前修改 提交的值
2016/04/14 Javascript
jQuery实现移动端手机商城购物车功能
2016/09/24 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
vue bootstrap小例子一枚
2017/06/09 Javascript
Vue.js实现微信过渡动画左右切换效果
2017/06/13 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
Nodejs Express 通过log4js写日志到Logstash(ELK)
2018/08/30 NodeJs
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
在Python上基于Markov链生成伪随机文本的教程
2015/04/17 Python
python实现矩阵乘法的方法
2015/06/28 Python
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
python怎么判断素数
2020/07/01 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
navabi英国:设计师大码女装
2019/06/25 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
生产管理的三大手法
2013/11/11 职场文书
主管会计岗位职责
2014/03/13 职场文书
新学期标语
2014/06/30 职场文书
警察群众路线整改措施
2014/09/26 职场文书
九不准学习心得体会
2016/01/23 职场文书
如何有效防止sql注入的方法
2021/05/25 SQL Server
Redis 操作多个数据库的配置的方法实现
2022/03/23 Redis
Python OpenCV实现图形检测示例详解
2022/04/08 Python
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers