爬虫基本库request使用—爬取猫眼电影信息

  使用request库和正则表达式爬取猫眼电影信息。

1.爬取目标

  猫眼电影TOP100的电影名称,时间,评分,等信息,将结果以文件存储。

2.准备工作

  安装request库。

3.代码实现

 1 import json
 2 import requests
 3 from requests.exceptions import RequestException
 4 import re
 5 import time
 6 
 7 
 8 def get_one_page(url):
 9     try:
10         headers = {
11             'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'
12         }
13         response = requests.get(url, headers=headers)
14         if response.status_code == 200:
15             return response.text
16         return None
17     except RequestException:
18         return None
19 
20 
21 def parse_one_page(html):
22     pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a'
23                          + '.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>'
24                          + '.*?integer">(.*?)</i>.*?fraction">(.*?)</i>.*?</dd>', re.S)
25     items = re.findall(pattern, html)
26     for item in items:
27         yield {
28             'index': item[0],
29             'image': item[1],
30             'title': item[2],
31             'actor': item[3].strip()[3:],
32             'time': item[4].strip()[5:],
33             'score': item[5] + item[6]
34         }
35 
36 
37 def write_to_file(content):
38     with open('result.txt', 'a', encoding='utf-8') as f:
39         f.write(json.dumps(content, ensure_ascii=False) + '\n')
40 
41 
42 def main(offset):
43     url = 'http://maoyan.com/board/4?offset=' + str(offset)
44     html = get_one_page(url)
45     for item in parse_one_page(html):
46         print(item)
47         write_to_file(item)
48 
49 
50 if __name__ == '__main__':
51     for i in range(10):
52         main(offset=i * 10)
53         time.sleep(2)

 

转载于:https://www.cnblogs.com/zivli/p/10816419.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机网络复习 数据链路层】3.5.2 ALOHA协议

一、纯ALOHA协议 纯ALOHA协议思想&#xff1a; 不监听信道&#xff0c;不按时间槽发送&#xff0c;随机重发。想发就发。 二、时隙ALOHA协议 时隙ALOHA协议的思想&#xff1a; 把时间分成若干个相同的时间片&#xff0c;所有用户在时间片开始时刻同步接入网络信道&#xff0c…

linux的驱动开发——设备号

1.设备号的获取 \qquad设备号的获取方法&#xff1a;自动分配&#xff1b;指定设备号注册 2.自动分配函数 \qquad函数&#xff1a;int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name) \qquad功能&#xff1a;分配设备号 \qquad参数&…

说好的「机器人出租车」和「自动驾驶汽车」,到底在哪? 原创 我爱至尊宝 科技行者 昨天...

来源&#xff1a;TheNexWeb编译整理&#xff1a;科技行者再有几周就到万圣节了&#xff0c;今年让人害怕的东西可不止是鬼怪、还有更多晦暗不明的新难题。 就拿自动驾驶汽车来说&#xff0c;技术人员直到现在也不清楚怎么才能在完全无需人类介入的情况下实现自主行驶。哪怕是代…

在Windows平台下使用Gitblit搭建Git服务器图文解说

Windows平台下Git服务器搭建 一.java环境变量的设置 下载jdk并配置jdk的环境变量&#xff0c;JAVA_HOME,CLASSPATH以及PATH&#xff0c;最后在DOS窗口输入java -version检验是否配置成功。这里参见jdk环境变量配置相关教程。 二.下载新版Gitblit.下载地址&#xff1a;http://ww…

【计算机网络复习 数据链路层】3.5.3 CSMA协议

CSMA协议3.5.3 CSMA协议一、CSMA协议1.1 1-坚持CSMA1.2 非坚持CSMA1.3 p-坚持CSMA3.5.3 CSMA协议 一、CSMA协议 载波监听多路访问协议CSMA&#xff08;&#xff43;&#xff41;&#xff52;&#xff52;&#xff49;&#xff45;&#xff52; &#xff53;&#xff45;&…

linux的系统移植——序言

1.单片机裸机和带有操作系统OS的区别 \qquad裸机有三层&#xff0c;从上至下依次为&#xff1a;应用层、驱动层、硬件层&#xff1b;而带有OS的单片机有四层&#xff0c;从上至下依次为&#xff1a;应用层、内核层、驱动层、硬件层。 2.系统移植学习内容 \qquad四大块&#xf…

“厌氧动物”出现,科学家不清楚代谢方式,或颠覆对生命的认知

来源&#xff1a;科学杂志众所周知&#xff0c;动物的生存的基本条件就是氧气。日常生活中&#xff0c;我们不会感到氧气的存在&#xff0c;因为它是无色无味且无处不在的。可以说&#xff0c;地球上能孕育生命的原因除了有水资源以外&#xff0c;氧气的存在也是重中之重。可当…

【计算机网络复习 数据链路层】3.5.4 CSMA-CD协议

CSMA-CD协议3.5.4 CSMA/CD协议一、CSMA/CD协议二、传播时延对载波监听的影响三、截断二进制指数规避算法四、最小帧长问题3.5.4 CSMA/CD协议 一、CSMA/CD协议 载波监听多点接入/碰撞检测 CSMA/CD&#xff08;carrier sense multiple access with collision detection&#xf…

GB28181开放流媒体服务平台LiveGBS实际测试时问题排查

背景 在安防监控行业中GB28181协议可以实现获取直播流、录像、报警信息、通道状态等各种信息&#xff0c;基本满足了监控行业中的全部需求。LiveGBS就是一套开放的GB28181流媒体服务平台&#xff0c;提供用户私有化部署、提供标准RESTFul HTTP接口用于二次开发&#xff0c;将视…

6G网络智能内生的思考

来源&#xff1a;6G俱乐部作者&#xff1a;李琴&#xff0c;李唯源&#xff0c;孙晓文&#xff0c;胡玉双&#xff1a;中国移动通信有限公司研究院研究员。孙滔&#xff1a;中国移动通信有限公司研究院主任研究员、网络创新实验室技术经理。面向6G时代&#xff0c;网络将迎来新…

linux的系统移植——交叉编译器

1.为什么要有交叉编译器&#xff1f; \qquad一般电脑是X86架构&#xff0c;而单片机一般不是&#xff0c;比如单片机是ARM架构&#xff0c;那么gcc编译生成的程序只能在X86的架构上运行&#xff0c;而不能在ARM架构上运行&#xff0c;所以需要交叉编译器编译生成能在ARM架构上运…

【计算机网络复习 数据链路层】3.5.5 CSMA-CA协议

CSMA-CA协议CSMA/CA协议一、CSMA/CA协议二、CSMA/CD 与 CSMA/CACSMA/CA协议 一、CSMA/CA协议 载波监听多点接入/碰撞避免 CSMA/CA&#xff08;carrier sense multiple access with collision avoidance&#xff09; 发送数据前&#xff0c;先检测信道是否空闲。 空闲则发出…

实验四3

#include "stdafx.h" #include "stdio.h"int main(int argc, char* argv[]) {char a[81];int i;int num0,word0;char c;gets(a);for(i0;(ca[i])!\0;i)if(c )word0;else if(word0){word1;num;}printf("%d\n",num);return 0; } 转载于:https://www…

3 个问题:MIT专家论述关于阻碍AutoML发展的障碍

来源&#xff1a;ScienceAI编译&#xff1a;萝卜皮研究人员希望更多用户友好的机器学习系统将使非专家能够分析大数据——但这样的系统能完全自主吗&#xff1f;麻省理工学院计算机科学家 Kalyan Veeramachaneni 分享了他对自动化机器学习 &#xff08;AutoML&#xff09;现状、…

linux的系统移植——交叉编译工具集

1.交叉编译工具集 \qquad在我们安装交叉工具集时&#xff0c;不仅安装了arm-linux-gnueabi-gcc &#xff0c;还安装了很多工具&#xff0c;它们共同构成交叉编译工具集。 arm-linux-gnueabi-addr2line arm-linux-gnueabi-gcov-tool arm-linux-gnueabi-ar arm-linux…

【计算机网络复习 数据链路层】3.6.1 局域网

局域网基本概念和体系结构局域网基本概念和体系结构一、局域网二、局域网拓扑结构三、局域网介质访问控制方法四、局域网的分类五、MAC子层和LLC子层局域网基本概念和体系结构 一、局域网 局域网 &#xff08;Local Area Network&#xff09;&#xff1a;简称LAN&#xff0c;…

佐治亚理工学院发文:不要迷信可解释性,小心被误导

来源&#xff1a;AI科技评论编译:王晔校对: 琰琰可解释性对人工智能发展来说至关重要&#xff0c;但在可解释系统的可信度方面&#xff0c;理解其可能带来的负面效应亦同等重要。近日&#xff0c;佐治亚理工学院研究团队发表最新研究&#xff0c;重点讨论了可解释人工智能系统&…

【计算机网络复习 数据链路层】3.6.2 以太网

以太网一、以太网概述二、以太网提供无连接、不可靠的服务三、以太网传输介质与拓扑结构的发展四、10BASE-T以太网五、适配器与MAC地址六、以太网MAC帧七、高速以太网一、以太网概述 以太网&#xff08;Ethernet&#xff09;指的是由Xerox公司创建并由Xerox、Intel和DEC公司联…

软件开发冲刺1

站立会议&#xff1a; 分配好任务&#xff0c;在队长的带领下开始了为期十天的软件开发冲刺&#xff0c;我们做的是一款聊天无课表软件有了目标就有了动力。我们先对我们的产品做了一个详细的规划&#xff0c;指定每天的任务量&#xff0c;调试好开发环境&#xff0c;做好一切准…

linux的系统移植——【PC-开发板】的环境搭建

1.主机数据如何传递到开发板&#xff1f; \qquad普通uboot kernel传递到开发板&#xff0c;一般会使用网络接口tftp&#xff1b; 2.环境搭建&#xff1a;台式机环境搭建 \qquad第一种情况是&#xff1a;路由器环境。把电脑和开发板利用网线都连接到同一个路由器上&#xff1b;…