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)

Python 抓取猫眼电影排行的更多相关文章

  1. 利用request和re抓取猫眼电影排行

    import requests import re import time def get_one_page(url): headers = { 'User-Agent': 'Mozilla/5.0 ...

  2. python抓取猫眼电影列表

    抓取地址:http://maoyan.com/board/4 分析url分页规则:http://maoyan.com/board/4?offset=0 其中offset参数值为0到90 用到的库: P ...

  3. Python爬取猫眼电影排行

    import requests import pyquery def crawl_page(url: str) -> None: headers = { 'user-agent': 'Mozil ...

  4. python学习(23)requests库爬取猫眼电影排行信息

    本文介绍如何结合前面讲解的基本知识,采用requests,正则表达式,cookies结合起来,做一次实战,抓取猫眼电影排名信息. 用requests写一个基本的爬虫 排行信息大致如下图 网址链接为ht ...

  5. Python爬虫之requests+正则表达式抓取猫眼电影top100以及瓜子二手网二手车信息(四)

    requests+正则表达式抓取猫眼电影top100 一.首先我们先分析下网页结构 可以看到第一页的URL和第二页的URL的区别在于offset的值,第一页为0,第二页为10,以此类推. 二.< ...

  6. Python爬虫【三】利用requests和正则抓取猫眼电影网上排名前100的电影

    #利用requests和正则抓取猫眼电影网上排名前100的电影 import requests from requests.exceptions import RequestException imp ...

  7. Python Spider 抓取猫眼电影TOP100

    """ 抓取猫眼电影TOP100 """ import re import time import requests from bs4 im ...

  8. 使用Python抓取猫眼近10万条评论并分析

    <一出好戏>讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何? 黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演 ...

  9. Python3编写网络爬虫04-爬取猫眼电影排行实例

    利用requests库和正则表达式 抓取猫眼电影TOP100 (requests比urllib使用更方便,由于没有学习HTML系统解析库 选用re) 1.目标 抓取电影名称 时间 评分 图片等 url ...

  10. 使用Request+正则抓取猫眼电影(常见问题)

    目前使用Request+正则表达式,爬取猫眼电影top100的例子很多,就不再具体阐述过程! 完整代码github:https://github.com/connordb/Top-100 总结一下,容 ...

随机推荐

  1. AT Educational DP Contest

    https://atcoder.jp/contests/dp J - Sushi 设 \(f[i,j,k]\) 表示有 \(1/2/3\) 个寿司的盘子有 \(i/j/k\) 个 考虑随机到哪种盘子列 ...

  2. 用whl文件安装Anaconda中的GDAL

      本文介绍在Anaconda环境下,基于.whl文件安装Python中高级地理数据处理库GDAL的方法.   在之前的文章中,我们介绍了基于conda install命令直接联网安装GDAL库的方法 ...

  3. WIN32下的模拟时钟

    #include <Windows.h> #include <math.h> #include <tchar.h> #include "resource. ...

  4. Python with 语句的用法

    with 语句是Python中用于简化资源管理的一种语法结构,通常与上下文管理器(Context Manager)一起使用.上下文管理器提供了一种机制,用于确保资源在使用完毕后能够被正确释放,例如文件 ...

  5. CASIO fx-991CN X 使用

    复数转换 \(a+b \, {\mathrm i} \leftrightarrow r \angle \theta\) 进入复数运算模式 菜单 2 输入待转换数 OPTN ▼,选择目标格式. = 可通 ...

  6. 使用go+gin编写日志中间,实现自动化收集http访问信息,错误信息等,自动化生成日志文件

    1.首先在logger包下 点击查看代码 package logger import ( "fmt" "io" "net/http" &qu ...

  7. C#必备技能—项目打包

    C#项目打包 开发好一个软件后,交给客户去使用,这时需要对项目进行打包成一个.exe文件,怎么去做?(共三步) 前提 安装扩展:状态栏[扩展]-[管理扩展],搜索setup,点击安装(安装比较慢,等待 ...

  8. Spring框架之IOC介绍

    Spring之IOC 简介 首先,官网中有这样一句话:Spring Framework implementation of the Inversion of Control (IoC) princip ...

  9. Heart Rate Variability - HRV

    一次心跳波形 心率变异性 通常希望HRV 越高越好 HRV 公式: 需要指出的是,心率变异性会有多种计算公式. HRV数值相对越小=当天压力越大/身体越疲劳:HRV数值相对越大=当天压力越小/身体状态 ...

  10. 合合信息扫描全能王发布“黑科技”,让AI替人“思考”图像处理问题

    现阶段,手机扫描正越来越多地进入到人们的生活中.随着扫描应用场景的不断拓宽,诸多细节的问题逐渐显露,比如使用者在拍照扫描文档时,手指不小心"入镜"了,只能重拍:拍电脑屏幕时,画面上 ...