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中装饰器的一个妙用
Feb 08 Python
Python爬虫框架Scrapy实战之批量抓取招聘信息
Aug 07 Python
Python随机数random模块使用指南
Sep 09 Python
对Python 网络设备巡检脚本的实例讲解
Apr 22 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
python3.X 抓取火车票信息【修正版】
Jun 19 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
Django ManyToManyField 跨越中间表查询的方法
Dec 18 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
Feb 22 Python
利用Python查看微信共同好友功能的实现代码
Apr 24 Python
python 画二维、三维点之间的线段实现方法
Jul 07 Python
Python使用微信接入图灵机器人过程解析
Nov 04 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做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
PHP中extract()函数的妙用分析
2012/07/11 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
PHP利用header跳转失效的解决方法
2014/10/24 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
HTML代码中标签的全部属性 中文注释说明
2009/03/26 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
jQuery防止click双击多次提交及传递动态函数或多参数
2014/04/02 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
JavaScript数据结构之二叉查找树的定义与表示方法
2017/04/12 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
原生JS 购物车及购物页面的cookie使用方法
2017/08/21 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
JavaScript引用类型Function实例详解
2018/08/09 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
vue如何实现自定义底部菜单栏
2019/07/01 Javascript
js实现简单掷骰子效果
2019/10/24 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
python检索特定内容的文本文件实例
2018/06/05 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
解决os.path.isdir() 判断文件夹却返回false的问题
2019/11/29 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
Django分组聚合查询实例分享
2020/04/29 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
南京某软件公司的.net面试题
2015/11/30 面试题
《爱如茉莉》教后反思
2014/04/12 职场文书
走进毛泽东观后感
2015/06/04 职场文书
Java如何实现树的同构?
2021/06/22 Java/Android
MySQL系列之开篇 MySQL关系型数据库基础概念
2021/07/02 MySQL