F#之旅5 - 小实践之下载网页(爬虫基础库)

参考文章:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-download.html

参考的文章教了我们如果在F#里利用.Net的库来下载一个网页,这里,我来发散一下,把它弄成一个可以用来帮助写爬虫的基础库。

首先,下载的代码我做了几处修改:

1、去掉了回调,直接改成了保存文本到文件,注意如果是下载图片不能这样写。

2、用流来一步步调用.Net的库,并且加上了异常处理。

3、增加了一个async的异步方法,这和C#的async、await是一样的。

接下来,有了async,自然是要让这个下载操作能够并发了,辅助并发的基础函数是这样的:

1、在stackoverflow上找了一个Throttle辅助函数,可以用来控制并发数,很赞。

2、用流和Async.Parallel实现了并发。

时间: 2024-08-28 08:15:27

F#之旅5 - 小实践之下载网页(爬虫基础库)的相关文章

F#之旅4 - 小实践之快排

参考文章:https://swlaschin.gitbooks.io/fsharpforfunandprofit/content/posts/fvsc-quicksort.html F#之旅4 - 小实践之快排 这次这篇呢,就不翻译了,因为原文确实是相当的简单.先贴一下能跑的代码: 这里贴的不是文本,如果你也想尝试一下,建议你抄一遍,或者理解之后自己写一遍.来看看都有那些要注意的点吧: 1.快排算法,这里用的递归的形式,把所有数分成三部分,[比第一个元素小的部分] [第一个元素] [比第一个元素

java swing开发打飞机的小游戏源代码下载

原文:java swing开发打飞机的小游戏源代码下载 源代码下载地址:http://www.zuidaima.com/share/1550463716084736.htm 这是我为了熟悉java设计模式而练习的代码.其中肯定有很多不足的地方.希望各位牛人们 能多多指点.谢谢

随心所欲生成git仓库随意一段commit的专用patch应用小实践

 随心所欲生成git仓库随意一段commit的专用patch应用小实践 我们在开发中.时不时的可能要去做一个patch给你的下线,或者你的合作者.在git管理中,我们知道有git format-patch命令,那怎么使用呢? 笔者以下就以实际样例来记录一下这个过程: /*****************************************************************************************************/声明:本博内容均由http

F#之旅0 - 开端

F#之旅0 - 开端 UWP的学习告一段落,CozyRSS的UWP版本并没有做.UWP跟wpf开发几乎一模一样,然后又引入了很多针对移动设备的东西,这部分有点像android.没啥太大的意思,不难,估计坑不少,但是暂时的没太大的欲望去玩. 学一门函数式编程语言,听起来就是一件不错的事情. 函数式编程,准确的来说应该是函数式编程这种编程范式,在很多中编程语言中都可以玩的.现在流行的js.python.lua.c++.java都有闭包了,至于惰性计算.常量,也好像不那么重要.但是既然特意说学一门函数

java swing开发短小精悍的俄罗斯方块小游戏源代码下载,仅300行代码

原文:java swing开发短小精悍的俄罗斯方块小游戏源代码下载,仅300行代码 源代码下载地址:http://www.zuidaima.com/share/1550463495146496.htm java swing开发短小精悍的俄罗斯方块小游戏源代码下载,仅300行代码, 很久以前找到的一个Swing实现的俄罗斯方块,短线精悍,算法值得一看 经验证代码可用,确实短小精悍,值得下载. package com.zuidaima.swing.game; import java.awt.*; i

F# 之旅(上)

写在前面的话 解答一下在上一篇文章<在Visual Studio中入门F#>中有人的提问, 1. 问:是准备写 F# 系列吗?    答:当然不是,本人也是刚刚学习 F#,只是翻译微软官方的文档,但是我会尽力翻译更多的文章. 2. 问:你们的项目使用F#写的吗?    答:本人大三学生,也不是什么大佬,兴趣而已. 在这篇文章中 怎样运行示例代码 函数和模块 数字.布尔值和字符串 元组 管线和组成 列表.数组和序列 学习 F# 最好的方式是读写 F# 代码.本文将介绍 F# 语言的一些主要功能,

Python编程 从入门到实践 PDF 下载

网盘下载:Python编程 从入门到实践 PDF 下载 – 易分享电子书PDF资源网 作者: [美]埃里克·马瑟斯 出版社: 人民邮电出版社 副标题: 从入门到实践 原作名: Python Crash Course 译者: 袁国忠 出版年: 2016-7-1 页数: 459 定价: CNY 89.00 装帧: 平装 内容简介 · · · · · · 本书是一本针对所有层次的Python 读者而作的Python 入门书.全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括mat

【PDF下载】Python编程 从入门到实践 PDF 下载

网盘下载:Python编程 从入门到实践 PDF 下载 – 易分享电子书PDF资源网 作者: [美]埃里克·马瑟斯 出版社: 人民邮电出版社 副标题: 从入门到实践 原作名: Python Crash Course 译者: 袁国忠 出版年: 2016-7-1 页数: 459 定价: CNY 89.00 装帧: 平装 内容简介 · · · · · · 本书是一本针对所有层次的Python 读者而作的Python 入门书.全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括mat

Python入门小练习 002 批量下载网页链接中的图片

我们常常需要下载网页上很多喜欢的图片,但是面对几十甚至上百张的图片,一个一个去另存为肯定是个很差的体验. 我们可以用urllib包获取html的源码,再以正则表达式把匹配的图片链接放入一个list中,使用for循环来依次下载list中的链接. import re import urllib a = raw_input("Please input a URL: ") s = urllib.urlopen(a) s2 = s.read() def image(s2): reg = r'sr