猫眼api html,爬取猫眼电影数据(示例代码)
1 static void Main(string[] args)2 {3 int errorCount = 0;//计算爬取失败的次数
4 int count = 450;//结束范围
5 for (int i = 401; i <= count; i++)6 {7 Thread.Sleep(2000);//每隔两秒爬取一次,不要给服务器压力
8 try
9 {10 HtmlWeb web = newHtmlWeb();11 //https://maoyan.com/films/1
12 web.OverrideEncoding =Encoding.UTF8;13 HtmlDocument doc = web.Load($"https://maoyan.com/films/{i}");//把url中的1替换为i
14
15 HtmlDocument htmlDoc = newHtmlDocument();16 string url = $"https://maoyan.com/films/{i}";17
18 //获取电影名
19 HtmlNode MovieTitle = doc.DocumentNode.SelectSingleNode("//div[@class=‘movie-brief-container‘]/h1[@class=‘name‘]");//分析页面结构后得到的div20 if (MovieTitle == null)//如果是null,那么表明进入验证页面了,执行第二种方法
21 {22 string urlResponse =URLRequest(url);23 htmlDoc.LoadHtml(urlResponse);24 MovieTitle = htmlDoc.DocumentNode.SelectSingleNode("//div[@class=‘movie-brief-container‘]/h1[@class=‘name‘]");25 if (MovieTitle == null)//如果是null,那么表明进入验证页面了。(第二种方法也失效)
26 {27 //此处需要进入浏览器手动完成验证 或者 自行分析验证页面实现自动验证
28 }29 }30 string title =MovieTitle.InnerText;31 //Console.WriteLine(MovieTitle.InnerText);32
33 //获取电影海报
34 HtmlNode MovieImgSrc = doc.DocumentNode.SelectSingleNode("//div[@class=‘celeInfo-left‘]/div[@class=‘avatar-shadow‘]/img[@class=‘avatar‘]");35 if (MovieImgSrc == null)36 {37
38 MovieImgSrc = htmlDoc.DocumentNode.SelectSingleNode("//div[@class=‘celeInfo-left‘]/div[@class=‘avatar-shadow‘]/img[@class=‘avatar‘]");39 }40 //Console.WriteLine(MovieImgSrc.GetAttributeValue("src", ""));
41 string imgurl = MovieImgSrc.GetAttributeValue("src", "");42
43 //电影类型
44 HtmlNodeCollection MovieTypes = doc.DocumentNode.SelectNodes("//div[@class=‘movie-brief-container‘]/ul/li[@class=‘ellipsis‘]");45 if (MovieTypes == null)46 {47 MovieTypes = htmlDoc.DocumentNode.SelectNodes("//div[@class=‘movie-brief-container‘]/ul/li[@class=‘ellipsis‘]");48 }49 string types = "", artime = "", releasetime = "";50
51 foreach (var item in MovieTypes[0].ChildNodes)52 {53 if (item.InnerText.Trim() != "")54 {55 //Console.WriteLine(item.InnerText.Trim());
56 types += item.InnerText.Trim() + "-";57 }58 }59 artime = MovieTypes[1].InnerText;60 releasetime = MovieTypes[2].InnerText;61 //Console.WriteLine(MovieTypes[i].InnerText);62
63 //剧情简介
64 string intro = "";65 HtmlNode introduction = doc.DocumentNode.SelectSingleNode("//div[@class=‘mod-content‘]/span[@class=‘dra‘]");66 if (introduction == null)67 {68 introduction = htmlDoc.DocumentNode.SelectSingleNode("//div[@class=‘mod-content‘]/span[@class=‘dra‘]");69 }70 //Console.WriteLine(introduction.InnerText);
71 intro =introduction.InnerText;72 //Console.WriteLine(i);
73
74 using (FileStream fs = new FileStream(@"d:Sql.txt", FileMode.Append, FileAccess.Write))75 {76 fs.Lock(0, fs.Length);77 StreamWriter sw = newStreamWriter(fs);78 sw.WriteLine($"INSERT INTO Movies VALUES(‘{title}‘,‘{imgurl}‘,‘{types}‘,‘{artime}‘,‘{releasetime}‘,‘{intro.Trim()}‘);");79 fs.Unlock(0, fs.Length);//一定要用在Flush()方法以前,否则抛出异常。
80 sw.Flush();81 }82
83 }84 catch(Exception ex)85 {86 errorCount++;87 Console.WriteLine(ex);88 }89 }90 Console.WriteLine($"结束 成功:{count - errorCount}条,失败:{errorCount}条");91 Console.ReadLine();92
93 }
猫眼api html,爬取猫眼电影数据(示例代码)相关推荐
- python实现爬虫探探_全栈 - 9 实战 爬取豆瓣电影数据
这是全栈数据工程师养成攻略系列教程的第九期:9 实战 爬取豆瓣电影数据. 掌握了爬虫的基本原理和代码实现,现在让我们通过实战项目巩固一下. 确定目标 在写爬虫之前应当想清楚:我需要哪方面的数据?需要包 ...
- Java爬取豆瓣电影数据
所用到的技术有Jsoup,HttpClient. Jsoup jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CS ...
- Github API:爬取Github用户数据
Github API:爬取Github用户数据 引言 目标:根据给定的论文中中文作者的英文名字(实际上就是拼音),从Github上获取用户邮箱信息. 一.Github API介绍 详细的开发者文档 想 ...
- python代码示例下载-python爬取音频下载的示例代码
抓取"xmly"鬼故事音频 import json # 在这个url,音频链接为JSON动态生成,所以用到了json模块 import requests headers = { & ...
- python爬虫公众号音频源代码_python爬取音频下载的示例代码
抓取"xmly"鬼故事音频 import json # 在这个url,音频链接为JSON动态生成,所以用到了json模块 import requests headers = { & ...
- python爬取猫眼_python正则表达式爬取猫眼电影top100
用正则表达式爬取猫眼电影top100,具体内容如下 #!/usr/bin/python # -*- coding: utf-8 -*- import json # 快速导入此模块:鼠标先点到要导入的函 ...
- python 柱状图上显示字体_Python爬取百部电影数据,我发现了这个惊人真相!
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%:国产电影总票房411.75亿元,同比增长8.65%,市场占比 ...
- python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%:国产电影总票房411.75亿元,同比增长8.65%,市场占比 ...
- python交通调查数据处理_Python突破高德API限制爬取交通态势数据+GIS可视化(超详细)...
一.需求: 爬取高德的交通态势API,将数据可视化为含有交通态势信息的矢量路网数据. 二.使用的工具: Python IDLE.记事本编辑器.ArcGIS 10.2.申请的高德开发者KEY(免费). ...
最新文章
- leetcode--链表的设计--python
- SAP Hybris: 中国B2B电商转型势在必行
- C#网络类智能开关控制板实例
- Keras框架:人脸检测-mtcnn思想及代码
- method java_解析Java中的Field类和Method类
- 设计几个简单的汇编函数
- 这个假期,百度差一点点点重回巅峰
- Discuz2.5菜鸟解析-2
- 天线分类特征学习笔记(1)偶极子天线
- 分享一篇关于代理IP对于python爬虫有多重要
- 1、Dreamweaver工具的使用
- Python员工离职数据分析
- 一键修复wpcap.dll文件丢失或出错
- 转 信安之路 CTF初识与深入
- linux里 read函数用法
- Java中的length,length()和size()
- 4篇cvpr2021 轨迹预测论文
- Jenkins 环境变量的作用范围及设置与获取,包括在Sharedlibraries与pipelin之间的传递
- 铸造国之重器 华为云正为“数字中国”战略提供哪些有力支撑?
- MATLAB程序设计与应用刘卫国(第三版)课后实验答案——3