日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

平庸技术流,用 WebApi +AngularJS 实现网络爬虫

發布時間:2023/12/1 javascript 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 平庸技术流,用 WebApi +AngularJS 实现网络爬虫 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近園子里網絡爬蟲很火爆,從?PHP?到?Python,從?windows服務?到?winform?程序,各路大神各顯神通。小弟也獻下丑,從平庸流出發,簡述下 WebApi +AngularJS?方式實現網絡爬蟲。

一、技術框架

1.1 前端:

AngularJS,創建SPA(單頁面應用)。爬蟲需要長時間的等待服務器返回結果,必須使用ajax實現,使用JQuery一樣可以做到。

?

1.2 后端:

WebApi。AngularJS 配合 WebApi?使用十分融洽。

?

1.3 后端用到的框架/庫:

a. Abp,最近園子里很火的基礎框架,最大的優點是分模塊的實現,包括 AppService(WebApi) 層的分模塊,使用后,代碼結構非常清晰。詳細內容可以見 基于DDD的現代ASP.NET開發框架--ABP系列文章總目錄

?

b.?蘇飛論壇的C#HttpHelper萬能框架,用于Html頁面的采集,可以直接使用『HTTP代理』讀取,這點很重要!

需要注意的一點是,這個框架不是免費的,需要成為年費會員才可以下載。

?

c. Ivony的Jumony庫,項目介紹:“Jumony Core首先提供了一個近乎完美的HTML解析引擎,其解析結果無限逼近瀏覽器的解析結果。支持CSS3選擇器。”

?

二、技術實現

2.1、抓取免費的 Http?代理地址。

這個百度就行,可以搜索到一大堆的提供?Http?代理網址的網站,首先將這些免費的Http代理抓取大自己的代理庫,第二步和第三步需要用到這些代理。使用時,要記錄代理的可用情況,設定策略,失敗次數過多時,剔除掉。

當然,土豪直接購買收費的代理即可,穩定性高。

下面是我抓取的代理列表:

被禁的代理(我設定策略是失敗次數大于成功次數3次,即拋棄):

?

2.2、讀取文章列表(單線程)

有了足夠的Http代理列表后,就可以抓取網頁了。

后端實現功能:使用 HttpHelper?掛代理抓取網頁,然后使用 ?Jumony?分析頁面內容。同時要記錄每個?Http?代理的成功/失敗情況。

前端控制流程:根據 WebApi?返回的結果,判斷是否抓取成功。如果成功,繼續下一個頁面的抓取;如果失敗,換個代理繼續抓取當前頁。

由于文章列表不會太多,用單線程抓取足夠了。

上圖:

?

2.3、讀取文章(多線程)

通過第二步抓取到了大量未讀取內容的文章后,這時候就需要抓取文章內容了。由于量比較大,通過多線程實現。

所謂的多線程,就是通過 Ajax?同時調用多個?WebApi?進程,通過監控返回結果。

上圖:

點擊『開始讀取』后

?點擊『停止讀取』后:

?

三、后記

沒有用到什么高深的知識,高深的部分都被?AngularJS、Abp、HttpHelper、Jomony實現,因此是平庸技術流的實現。

以上。

?

轉載于:https://www.cnblogs.com/dusdong/p/4733594.html

總結

以上是生活随笔為你收集整理的平庸技术流,用 WebApi +AngularJS 实现网络爬虫的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。