时间:2021-05-20
上一章节中我们实现了对优酷单页面的爬取,简单进行回顾一下,使用HtmlAgilityPack库,对爬虫的爬取一共分为三步
爬虫步骤
继第一篇文档后的爬虫进阶,本文章主要是对上一篇的进阶。实现的功能主要为:
1、爬取电影类别列表
2、循环每个类别的电影信息,对每个类别的信息分页爬取
3、爬取的数据保存到数据库中
使用Chrome浏览器,F12,找到当前位置,得到当前位置的Xpath。我们需要的数据是电影的类别编码和电影类别名称。
规则分析:
XPATH路径为 "//*[@id='filterPanel']/div/ul/li/a")
类别编码为A标签Href路径的内容,我们对其进行截取
类别名称为A标签InnerTest,我们对其进行截取
代码示例
//加载web内容 private static readonly string _url = "http://list.youku.com/category/video/c_0.html"; /// <summary> /// 得到所有的类别 /// </summary> public static List<VideoType> GetVideoTypes() { //加载web内容 var web = new HtmlWeb(); var doc = web.Load(_url); //内容解析-获得所有的类别 var allTypes = doc.DocumentNode.SelectNodes("//*[@id='filterPanel']/div/ul/li/a").ToList(); //类别列表中去掉【全部】这个选项 var typeResults = allTypes.Where((u, i) => { return i > 0; }).ToList(); var reList = new List<VideoType>(); foreach (var node in typeResults) { var href = node.Attributes["href"].Value; reList.Add(new VideoType { Code = href.Substring(href.LastIndexOf("/") + 1, href.LastIndexOf(".") - href.LastIndexOf("/") - 1), Name = node.InnerText }); } return reList; }code 为电影类别编码
页面规则 $"http://list.youku.com/category/show/[code].html"
根据页面规则进行爬取:
根据分页规则分析出分页后的地址为
code 为编码 pageIndex为第几页
页面规则:http://list.youku.com/category/show/[code]s_1_d_1_p{pageIndex}.html
根据页面规则进行爬取:
代码下载地址:
https://github.com/happlyfox/FoxCrawler/tree/master/%E5%AD%A6%E4%B9%A0%E7%A4%BA%E4%BE%8B/YouKuCrawler/YouKuCrawlerAsync
以上就是c# 爬取优酷电影信息(2)的详细内容,更多关于c# 爬取优酷电影信息的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Python实现的爬取豆瓣电影信息功能。分享给大家供大家参考,具体如下:本案例的任务为,爬取豆瓣电影top250的电影信息(包括序号、电影名称、导
相信大家都用优酷看过电影和电视剧吧。小编也是用的优酷看电影。可是今天小编打开优酷发现进入不到优酷主页。那么优酷打不开怎么办?造成优酷打不开的原因有很多,小编就总
相信大家都用优酷客户端看过电影和电视剧吧。小编也是用的优酷客户端看电影。可是今天小编打开优酷发现进入不到优酷主页。那么优酷PC客户端怎么打不开了?下面小编就为分
前言本来是打算用C#爬取天气网站上的信息,然后用正则表达过滤有用信息的,但是很淦,正则表达式太难了。无意间找到添加web引用的方式来获取天气信息,亲自测试后发现
利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项