用正则表达式爬取猫眼电影top100,具体内容如下
#!/usr/bin/python # -*- coding: utf-8 -*- import json # 快速导入此模块:鼠标先点到要导入的函数处,再Alt + Enter进行选择 from multiprocessing.pool import Pool #引入进程池 import requests import re import csv from requests.exceptions import RequestException #引入异常 ## 正确保存,无丢失 # 请求一个页面返回响应内容 #以《霸王别姬》为列,右击—查看元素—会显示一个网页信息 def get_one_page(url,offset): try: response=requests.get(url=url,params={"offset":offset}) if response.status_code==200: #由状态码判断返回结果,200表示请求成功,300,500表出错 return response.text #返回网页内容 else:return None except RequestException as e: return None # 解析一个页面 def parse_one_page(html): pattern = ('<dd>.*"(.*".*"><a' + '.*?>(.*">(.*">(.*">(.*">(.*"releasetime">上映时间:1993-01-01(中国香港)</p> def get_release_time(data): pattern = '^(.*"\t"参数指写入的时候的分隔符 csv_writer = csv.writer(data_csv) csv_writer.writerow([item['index'], item['image'], item['title'], item['actor'],item['time'],item['area'],item['score']]) # 参数newline是用来控制文本模式之下,一行的结束字符。可以是None,'',\n,\r,\r\n等。 ''''' 也可判断异常,一般没错 try: csv_writer = csv.writer(data_csv) csv_writer.writerow([item['index'], item['image'], item['title'], item['actor'],item['time'],item['area'],item['score']]) except Exception as e: print(e) print(item) ''' # 下载封面图 #读方式打开的话,并不会新建;写方式打开的话就会新建。 r只读,w可写,a追加 def download_thumb(title,image): try: response = requests.get(image) # 获取二进制数据 with open('image/'+title+'.jpg', 'wb') as f: #将封面图保存到当前路径下的image文件夹中,图片名称为:电影名.jpg f.write(response.content) f.close() except RequestException as e: print(e) pass # 主调度程序 def main(): # 起始URL start_url = 'http://maoyan.com/board/4"htmlcode">def main(offset): url='http://maoyan.com/board/4"utf8" try: conn = pymysql.connect(host='localhost', user='root', passwd=' ', port=3306,db='test1',charset="utf8",use_unicode = False ) cur = conn.cursor() # 创建一个游标对象 for item in parse_one_page(html): try: # sql = "INSERT INTO movies (number,picture,title,actors,time,area,score) VALUES (%s,%s,%s,%s,%s,%s,%s)" # cur.execute(sql, ( item['number'],item['picture'],item['title'],item['actors'],item['time'],item['area'],item['score'])) sql = "insert into test_movies (number,picture,title,actors,time,area,score) values(%s,%s,%s,%s,%s,%s,%s)" cur.execute(sql, (item['number'], item['picture'], item['title'], item['actors'], item['time'], item['area'],item['score'])) except pymysql.Error as e: print(e) print('- - - - - 数据保存成功 - - - - -') conn.commit() cur.close() conn.close() # 关闭数据 except pymysql.Error as e: print("Mysql Error %d: %s" % (e.args[0], e.args[1])) if __name__=='__main__': # 连接数据库 conn = pymysql.connect(host='localhost', user='root', passwd=' ', port=3306, db='test1', charset="utf8") cur = conn.cursor() # 创建一个游标对象 cur.execute("DROP TABLE IF EXISTS test_movies") # 如果表存在则删除 # 创建表sql语句 sqlc = """CREATE TABLE test_movies( number int not null primary key auto_increment, picture VARCHAR(100) NOT NULL, title VARCHAR(100) NOT NULL, actors VARCHAR(200) NOT NULL, time VARCHAR(100) NOT NULL, area VARCHAR(100) , score VARCHAR(50) NOT NULL )""" cur.execute(sqlc) # 执行创建数据表操作 pool=Pool() pool.map(main,[i*10 for i in range(10)])以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月14日
2024年11月14日
- 英雄联盟六个龙魂是哪六个 英雄联盟六个龙魂介绍一览
- 《忆蚀》Subliminal:揭秘后室之谜,路知行献声Weplay文化展
- 初始之部制作人气漫画改编游戏《我家大师兄脑子有坑》参展2024WePlay
- 《异环》「奇点测试」定档11.28 超自然都市轻喜剧即将放送!
- 16层乐队.2024-大快朵颐【摩登天空】【FLAC分轨】
- 群星.1988-电视金曲巡礼【EMI百代】【WAV+CUE】
- 群星.1992-电视金曲巡礼VOL.2【EMI百代】【WAV+CUE】
- 廖昌永《情缘HQ》头版限量[低速原抓WAV+CUE]
- 蔡琴《老歌》头版限量编号MQA-24K金碟[低速原抓WAV+CUE]
- 李嘉《国语转调》3CD[WAV+CUE]
- 谭咏麟《爱的根源 MQA-UHQCD》2022头版限量编号 [WAV+CUE][1G]
- 江洋 《江洋原创琵琶作品专辑》[320K/MP3][118.08MB]
- 江洋 《江洋原创琵琶作品专辑》[FLAC/分轨][228.33MB]
- 《战舰世界》语音包文件夹位置介绍
- 《CSGO》送好友皮肤方法介绍