基本文件处理-爬取豆瓣电影排行榜
Posted qinyujie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本文件处理-爬取豆瓣电影排行榜相关的知识,希望对你有一定的参考价值。
文件的类型
什么是文件?
一堆.py/.txt 存储着文字信息文件,
文件的分类
二进制文件:由0、1组成,例如.png文件
文本文件:由单一特定编码组成的文件,如utf8,例如 .txt文件
文件的打开与关闭
文件处理的三个步骤
打开(找到路径打开)
打开模式 描述 r 只读不可写 w 只写不可读(会清空文件) a 追加不可读 r+ 可读可写 w+ 可读可写(会清空文件) a+ 可读可写 b 二进制模式,用于打开多媒体文件 t 文本模式(默认模式) 操作(读取和写入)
读取 描述 read 读取全部内容 readline 读取一行内容 readlines 读取文件所有行 写入 描述 write 写入字符串 writelines 将一个列表的元素写入文件 seek 改变当前文件操作指针的位置 关闭(保存并关闭)
.flush() 保存
.close() 关闭
使用方式
file_path = 'D:\上海python12期视频\python12期预科班视频\day 05\新时代中国特色社会主义.txt'
f = open(file_path,'r',encoding='gbk') # encoding告诉计算机用什么编码格式翻译硬盘中的0和1
print(f.read())
f.close()
with open(r'D:\上海python12期视频\python12期预科班视频\day 05\huijiadeyouhuo.txt','r+',encoding='utf8') as fr:
print(fr.read())
爬虫
requests库的使用
爬取网站的图片和视频 并保存到本地
# coding=utf-8
import requests
#爬取图片
w = requests.get(
url="http://www.xiaohuar.com/d/file/20190628/26700fc24ce19a534d1ad797937426ac.jpg"
)
#接收二进制图片
print(w.content)
with open("校花图片1.png","wb") as f:
f.write(w.content)
print("校花图片爬取成功!")
# 爬取视频
w = requests.get(
url="https://video.pearvideo.com/mp4/adshort/20190827/cont-1595380-14312754_adpkg-ad_hd.mp4"
)
with open("梨视频.mp4","wb") as f:
f.write(w.content)
print("视频爬取成功!")
爬取豆瓣电影的排行榜 并保存在本地
# coding=utf-8
import requests
import re
w = requests.get(
url="https://movie.douban.com/top250"
)
## 获取响应文本
print(w.text)
'''
1.电影名称
2.电影详情页链接
3.电影评分
4.电影评价人数
'''
#解析并提取数据
# 查找所有
# re.S: 全局查找
# re.findall('正则匹配规则', '解析文本', re.S)
move_list = re.findall('<div class="item">.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(.*?)人评价</span>',w.text,re.S)
print(move_list)
num = 1
with open("douban.txt","a",encoding="utf8") as f:
for line in move_list:
print("%s %s的网址为 %s,%s人评分为 %s" % (num, line[0], line[1], line[2], line[3]))
f.write("%s %s的网址为 %s,%s人评分为 %s" % (num, line[0], line[1], line[2], line[3]) + "\n")
f.flush()
num += 1
print("数据爬取成功,文件已保存。")
以上是关于基本文件处理-爬取豆瓣电影排行榜的主要内容,如果未能解决你的问题,请参考以下文章
用Scrapy爬虫爬取豆瓣电影排行榜数据,存储到Mongodb数据库