您好,欢迎来到划驼旅游。
搜索
您的当前位置:首页python爬虫——豆瓣电影TOP250数据

python爬虫——豆瓣电影TOP250数据

来源:划驼旅游
python爬⾍——⾖瓣电影TOP250数据

这次以⾖瓣电影TOP250⽹为例编写⼀个爬⾍程序,并将爬取到的数据(排名、电影名和电影海报⽹址)存⼊MySQL数据库中。下⾯是完整代码:

Ps:在执⾏程序前,先在MySQL中创建⼀个数据库\"pachong\"。

import pymysqlimport requestsimport 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\ #从游标中获取结果 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)

结果如下图:

以上就是我的分享,如果有什么不⾜之处请指出,多交流,谢谢!想获取更多数据或定制爬⾍的请点击

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.com 版权所有 湘ICP备2023023988号-11

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务