Python 抓取猫眼电影排行
时间:2021-07-25
本文章向大家介绍Python 抓取猫眼电影排行,主要包括Python 抓取猫眼电影排行使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
import json import re import requests from requests.exceptions import RequestException import time # 获取html def get_one_page(url): try: headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36' } response=requests.get(url,headers=headers) if response.status_code==200: return response.text return None except RequestException: return None # 正则表达式提取 def parse_one_page(html): pattern=re.compile( '<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)".*?name.*?a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime.*?>(.*?)</p>.*?integer.*?>(.*?)</i>.*?fraction.*?>(.*?)</i>.*?</dd>' ,re.S) items=re.findall(pattern,html) # print(items) #打印 正则表达式匹配的每页的数据 for item in items: print(item) # 打印每个电影的数据 # for ii in item: # 打印每条 像 index title 等内容 # print(ii) yield{ 'index':item[0], 'image': item[1], 'title': item[2], 'actor': item[3].strip(), 'time': item[4].strip()[5:], 'score': item[5]+item[6] } def write_to_file(content): with open('result.txt','a',encoding='utf-8') as f: # 因为是循环main所以要打开多次,需要a # print(content) # 打印要写入的json内容 # print(type(json.dumps(content))) # 打印jso类型 f.write(json.dumps(content,ensure_ascii=False)+'\n') def main(offset): url="https://maoyan.com/board/4?offset="+str(offset) # print(url) # 打印url html=get_one_page(url) # print(html) #打印原始html网页 for item in parse_one_page(html): write_to_file(item) if __name__ == '__main__': for i in range(10): main(offset=i*10) time.sleep(1)
原文地址:https://www.cnblogs.com/weimingai/p/15058977.html
- ASP.NET进程优化
- 多说 提速:js内页页脚加载、静态文件CDN
- 微信小程序的王者时代
- [程序设计语言]-[核心概念]-02:名字、作用域和约束(Bindings)
- NUMA架构
- 如何处理 Python 入门难以进步的现象?
- 编写前置和后置条件的连贯接口库:CuttingEdge.Conditions
- [程序设计语言]-[核心概念]-03:控制流
- 简单代码实现“网站维护中”“coming soon” 效果
- 使用Topshelf创建Windows 服务
- 自定义AuthorizeAttribute
- 系统进程管理工具Process Explorer
- jquery 操作DOM元素(1)
- 开源的读取Excel文件组件-ExcelDataReader
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法