澳门至尊网站-首页

您的位置:澳门至尊网站 > 免费资源 > 爬虫学习笔记

爬虫学习笔记

2019-10-25 21:35

       近来因为叁个作业须求达成CNKI爬虫,研究爬虫架构的时候开掘了那些颠倒是非移植于Python的资深开源爬虫框架Scrapy的ScrapySharp,可是在英特网检索之后只发掘了那么些F#的Demo,就选取原版的书文中示范的网址写了这一个C#本子的代码。

       PS:切磋现在察觉,ScrapySharp和Scrapy差别照旧挺大的,未有Scrapy那样完美的八大组件,只含有获取网页内容和依照HtmlAgilityPack扩充的网页深入深入分析成效,莫名有个别小失望。

using System;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using HtmlAgilityPack;
using ScrapySharp.Extensions;
using ScrapySharp.Network;


namespace ScrapySharpDemo { class Program { static void Main(string[] args) { //示例网址地址 var url = ""; var web = new ScrapingBrowser(); var html = web.DownloadString(new Uri(url)); var doc = new HtmlDocument(); doc.LoadHtml(html); //获取网址中的图片地址 var urls= doc.DocumentNode.CssSelect("div.bbs-content > img").Select(node => node.GetAttributeValue("original")).ToList(); //并行下载图片 Parallel.ForEach(urls, SavePic); }
public static void SavePic(string url) { var web = new ScrapingBrowser(); //因天涯网址约束,全体站外来源都无法访问图片,故先设置央求头Refer属性为当前页地址 web.Headers.Add("Referer", ""); var pic = web.NavigateToPage(new Uri(url)).RawResponse.Body; var file = url.Substring(url.LastIndexOf("/", StringComparison.Ordinal)); if (!Directory.Exists("imgs")) Directory.CreateDirectory("imgs"); File.WriteAllBytes("imgs" + file, pic); } } }

本文由澳门至尊网站发布于免费资源,转载请注明出处:爬虫学习笔记

关键词: