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)
Python 抓取猫眼电影排行的更多相关文章
- 利用request和re抓取猫眼电影排行
import requests import re import time def get_one_page(url): headers = { 'User-Agent': 'Mozilla/5.0 ...
- python抓取猫眼电影列表
抓取地址:http://maoyan.com/board/4 分析url分页规则:http://maoyan.com/board/4?offset=0 其中offset参数值为0到90 用到的库: P ...
- Python爬取猫眼电影排行
import requests import pyquery def crawl_page(url: str) -> None: headers = { 'user-agent': 'Mozil ...
- python学习(23)requests库爬取猫眼电影排行信息
本文介绍如何结合前面讲解的基本知识,采用requests,正则表达式,cookies结合起来,做一次实战,抓取猫眼电影排名信息. 用requests写一个基本的爬虫 排行信息大致如下图 网址链接为ht ...
- Python爬虫之requests+正则表达式抓取猫眼电影top100以及瓜子二手网二手车信息(四)
requests+正则表达式抓取猫眼电影top100 一.首先我们先分析下网页结构 可以看到第一页的URL和第二页的URL的区别在于offset的值,第一页为0,第二页为10,以此类推. 二.< ...
- Python爬虫【三】利用requests和正则抓取猫眼电影网上排名前100的电影
#利用requests和正则抓取猫眼电影网上排名前100的电影 import requests from requests.exceptions import RequestException imp ...
- Python Spider 抓取猫眼电影TOP100
""" 抓取猫眼电影TOP100 """ import re import time import requests from bs4 im ...
- 使用Python抓取猫眼近10万条评论并分析
<一出好戏>讲述人性,使用Python抓取猫眼近10万条评论并分析,一起揭秘“这出好戏”到底如何? 黄渤首次导演的电影<一出好戏>自8月10日在全国上映,至今已有10天,其主演 ...
- Python3编写网络爬虫04-爬取猫眼电影排行实例
利用requests库和正则表达式 抓取猫眼电影TOP100 (requests比urllib使用更方便,由于没有学习HTML系统解析库 选用re) 1.目标 抓取电影名称 时间 评分 图片等 url ...
- 使用Request+正则抓取猫眼电影(常见问题)
目前使用Request+正则表达式,爬取猫眼电影top100的例子很多,就不再具体阐述过程! 完整代码github:https://github.com/connordb/Top-100 总结一下,容 ...
随机推荐
- 关于Mongodb索引创建的一些体会
mongodb索引分类以及创建我就不多说了,如果想了解可以直接在百度上搜索,这里我说一下关于索引创建的个人想法. 1.优先给一些Id类字段添加索引,查询时可以缩小扫描范围. 2.创建联合索引时,索引字 ...
- Camera | 2.MIPI、CSI基础
瑞芯微专栏 上一篇我们讲解了camera的一些基础概念和知识. 我们说了,现在的手机由于高分辨率的要求,现在基本上都是基于MIPI.CSI协议来实现的, 本篇讲解MIPI.CSI的一些基础知识. 摄像 ...
- 代码随想录Day17
654.最大二叉树 给定一个不重复的整数数组 nums . 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值. 递归地在最大值 左边 的 子数组前缀 ...
- Shell 避免无限递归
在编写 Shell 脚本时,有时会产生我们不期望的递归. 比如说,我曾经写过一个脚本,名为 foo.sh. foo.sh 的内容如下: function foo { # TODO } foo 然后我在 ...
- pc 移动端 双端切换-路由判断
该封装主要以分类形式,实现对路由的简易区分.便于项目管理. 创建好项目,勾选路由插件,会自动生成 router文件夹与index.ts . index.ts 初始内容 创建项目 自动生成的router ...
- sicp每日一题[1.44]
Exercise 1.44 The idea of smoothing a function is an important concept in signal processing. If f is ...
- CSS – Houdini
介绍 简单说这个 Houdini 是一系列 CSS 底层 API,它可以让我们扩展 CSS,做出一些 Polyfill. 举一个例子,让大家有个画面. 我们可以通过 CSS + JS + Canvas ...
- MDC – Text field
前言 Angular Material 只有 Form field, 但 Material Design 有份 Text field 和 Form field, Form field 是给 check ...
- 聊聊 iframe, CSP, 安全, 跨域
refer : https://www.cnblogs.com/kunmomo/p/12131818.html (跨域) https://segmentfault.com/a/119000000450 ...
- 邀请参与第四季度 Flutter 开发者调查
本次调研会较为详细地了解大家对 Flutter 框架.开发语言.package 生态 (包括 Firebase package).IDE 插件以及 Material Design / Cupertin ...