python使用re模块爬取豆瓣Top250电影

Eranthe ·
更新时间:2024-09-20
· 828 次阅读

  爬蟲四步原理:

    1.发送请求:requests

    2.获取相应数据:对方及其直接返回

    3.解析并提取想要的数据:re

    4.保存提取后的数据:with open()文件处理

  爬蟲三步曲:

    1.发送请求

    2.解析数据

    3.保存数据

注意:豆瓣网页爬虫必须使用请求头,否则服务器不予返回数据

import re import requests # 爬蟲三部曲: # 1.获取请求 def get_data(url, headers): response = requests.get(url, headers=headers) # 如果爬取的是html文本就是用.text方法获取文本数据,如果爬取的是音视频就用.content方法获取二进制流数据 # print(response.text) # 获取相应文本,比如html代码 return response.text # 2.解析数据 def parser_data(text): # re.findall("正则表达式", "过滤的文本", re.S) # 匹配模式:re.S 全局模式 data = re.findall( '<div class="item">.*?<a href="(.*?)" rel="external nofollow" >.*?<span class="title">(.*?)</span>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(.*?)人评价</span>', text, re.S) for move_info in data: yield move_info # 3.保存数据 def save_data(res_list_iter): with open("豆瓣TOP250.txt", "a", encoding="utf-8") as f: for i in res_list_iter: move_page, move_title, move_score, move_evaluation = i # print(move_page, move_title, move_score, move_evaluation) str1 = f"电影名字:《{move_title}》 电影评分:{move_score} 电影评价:{move_evaluation} 电影详情页:{move_page}\n" f.write(str1) # 使用请求头请求数据 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 \ Safari/537.36' } n = 0 # 获取10个链接 for i in range(10): url = f"https://movie.douban.com/top250?start={n}&filter==" n += 25 text = get_data(url, headers) res_list_iter = parser_data(text) save_data(res_list_iter)

  执行结果:

以上就是python使用re模块爬取豆瓣Top250电影的详细内容,更多关于python 爬取豆瓣电影的资料请关注软件开发网其它相关文章!

您可能感兴趣的文章:Python爬取股票信息,并可视化数据的示例python多线程+代理池爬取天天基金网、股票数据过程解析使用python爬虫实现网络股票信息爬取的demo基于python爬取链家二手房信息代码示例基于Python爬取素材网站音频文件python爬取音频下载的示例代码python 爬取B站原视频的实例代码基于Python爬取股票数据过程详解



电影 top250 top Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号