下载网页的三种方法

全面实用的网站下载工具:从网页到文件的批量下载解决方案 本文还有配套的精品资源,点击获取 简介:网站下载工具是一种能够从互联网上批量下载网页、图片、文件等资源的软件或应用程序,适用于多个场景,如备份网站、离线浏览、学术研究、数据分析等。中文版工具特别为中文用户优化,提供了包括深度抓取、链接过滤、自定义下载范围、镜像功能、时间调度、断点续传、多线程下载、文件重命名规则和友好用户界面等核心功能。这类工具在提高工作效率和资源管理的同时... 阅读详情
1.
最简洁的:
给定一个URL,将其传送给urllib2模块的urlopen(url)方法,
以url作为参数,发送网页请求。返回的内容传送给response对象。
2.
增强处理,添加data、http header.步骤如下:
1)添加一个header,可以向服务器提交http的头信息;
添加一个data,可以向服务器提交需要用户输入的数据
2)把三个参数url、data、header 传送给urllib2的Request类,生成一个request对象
3)再以request作为参数把内容传送给urlopen()对象
此方法最终效果与第一种一致,都是下载了一个URL指向的网页上的内容
但方法二可以做更多的事:比如向服务器发送信息;
通过提供http头信息来伪装成某个浏览器(增大访问网页的成功概率)
3.
登陆,代理,加密,自动跳转
遇到特殊情景时需要添加特殊情景处理器
1、需要用户登录才能访问的网页。添加cookie处理,使用HTTPCookieProcessor。
2、需要代理才能访问的网页。使用ProxyHandler。
3、协议使用HTTPS加密访问的网页。使用HTTPSHandler。
4、URL相互自动跳转的网页。使用HTTPRedirectHandler。
将以上这些Handler传送给urllib2的build_opener(Handler)方法,生成一个opener对象。
然后向urllib2中install_opner(opner)这个opener,这样urllib2模块就具有了这些场景的处理能力。
最后用urlopen()方法请求一个url或请求一个request,来实现网页的下载。
代码:增强cookie处理










In [1]: import urllib2

In [2]: import cookielib

In [3]: url='http://www.imooc.com/video/10682'

In [4]: res=urllib2.urlopen(url)#下载网页传送给res对象

In [5]: res.getcode()#特定的状态码
Out[5]: 200




In [6]: request =urllib2.Request(url)#将url作为参数,生成request对象



In [7]: request.add
request.add_data                 request.add_unredirected_header
request.add_header

In [7]: request.add_header('user-agent','Molliza/5.0')#添加头信息伪装成火狐浏览器

In [8]: res2=urllib2.urlopen(res2)

In [9]: res2.getcode()
Out[9]: 200



In [10]: cj=cookielib.C
cookielib.Cookie        cookielib.CookieJar     cookielib.CookiePolicy

In [10]: cj=cookielib.CookieJar()#创建一个cook容器

In [11]: opener=urllib2.b
urllib2.base64        urllib2.bisect        urllib2.build_opener

In [11]: opener=urllib2.b
urllib2.base64        urllib2.bisect        urllib2.build_opener

In [11]: opener=urllib2.build_opener(urllib2.H)
urllib2.HTTPBasicAuthHandler             urllib2.HTTPHandler
urllib2.HTTPCookieProcessor              urllib2.HTTPPasswordMgr
urllib2.HTTPDefaultErrorHandler          urllib2.HTTPPasswordMgrWithDefaultRealm
urllib2.HTTPDigestAuthHandler            urllib2.HTTPRedirectHandler
urllib2.HTTPError                        urllib2.HTTPSHandler
urllib2.HTTPErrorProcessor

In [11]: opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))#创建一个opener

In [12]: ur
url      urllib2

In [12]: urllib2.install_opener(opener)#给URLlib2安装opener

In [13]: res3=urllib2.urlopen(url)#使带有cook的URLlib2访问网页

In [14]: print cj
<cookielib.CookieJar[<Cookie cvde=584d61e13bdbd-1 for .imooc.com/>, <Cookie imooc_isnew=1 for .imooc.com/>, <Cookie imooc_isnew_ct=1481466337 for .imooc.com/>, <Cookie imooc_uuid=eac67426-8a72-40d6-a6da-f100bb2ea17c for .imooc.com/>, <Cookie PHPSESSID=5hr12jmps6so3gc5ehg1rg0d17 for www.imooc.com/>]>

In [15]: res3.read()
Out[15]: '<!DOCTYPE html>\r\n<html>\r\n<head>\r\n<meta charset="utf-8">\r\n<meta property="qc:admins" content="77103107776553571676375" />\r\n<meta property="wb:webmaster" content="c4f857219bfae3cb" />\r\n<meta http-equiv="Access-Control-Allow-Origin" content="*" />\r\n<meta name="Keywords" content="" />\r\n<meta name="Description" content="\xe8\xb6\x85\xe9\x85\xb7\xe7\x9a\x84\xe4\xba\x92\xe8\x81\x94\xe7\xbd\x91\xe3\x80\x81IT\xe6\x8a\x80\xe6\x9c\xaf\xe5\x85\x8d\xe8\xb4\xb9\xe5\xad\xa6\xe4\xb9\xa0\xe5\xb9\xb3\xe5\x8f\xb0\xef\xbc\x8c\xe5\x88\x9b\xe6\x96\xb0\xe7\x9a\x84\xe7\xbd\x91\xe7\xbb\x9c\xe4\xb8\x80\xe7\xab\x99\xe5\xbc\x8f\xe5\xad\xa6\xe4\xb9\xa0\xe3\x80\x81\xe5\xae\x9e\xe8\xb7\xb5\xe4\xbd\x93\xe9\xaa\x8c\xef\xbc\x9b\xe6\x9c\x8d\xe5\x8a\xa1\xe5\x8f\x8a\xe6\x97\xb6\xe8\xb4\xb4\xe5\xbf\x83\xef\xbc\x8c\xe5\x86\x85\xe5\xae\xb9\xe4\xb8\x93\xe4\xb8\x9a\xe3\x80\x81\xe6\x9c\x89\xe8\xb6\xa3\xe6\x98\x93\xe5\xad\xa6\xe3\x80\x82\xe4\xb8\x93\xe6\xb3\xa8\xe6\x9c\x8d\xe5\x8a\xa1\xe4\xba\x92\xe8\x81\x94\xe7\xbd\x91\xe5\xb7\xa5\xe7\xa8\x8b\xe5\xb8\x88\xe5\xbf\xab\xe9\x80\x9f\xe6\x88\x90\xe4\xb8\xba\xe6\x8a\x80\xe6\x9c\xaf\xe9\xab\x98\xe6\x89\x8b\xef\xbc\x81" />\r\n<meta http-equiv="Content-Security-Policy" content="script-src \'self\' \'unsafe-inline\' \'unsafe-eval\' *.imooc.com *.mukewang.com *.baidu.com *.sina.com.cn">\r\n\r\n<title>Python\xe7\x88\xac\xe8\x99\xaburlib2\xe4\xb8\x8b\xe8\xbd\xbd\xe5\x99\xa8\xe7\xbd\x91\xe9\xa1\xb5\xe7\x9a\x84\xe4\xb8\x89\xe7\xa7\x8d\xe6\x96\xb9\xe6\xb3\x95-\xe6\x85\x95\xe8\xaf\xbe\xe7\xbd\x91</title>\r\n\r\n\r\n\r\n<link rel="stylesheet" href="/static/lib/layer/1.6.0/skin/layer.css"/>\r\n\r\n<link rel="stylesheet" href="/static/moco/v1.0/dist/css/moco.min.css" type="text/css" />\r\n<script type="text/javascript">\r\n  var OP_CONFIG={"module":"course","page":"video"};\r\n  var tplDef={\r\n\t"url_space_u":"/space/u",\r\n\t"url_space_index":"/space/index",\r\n    "url_space_course":"/space/course",\r\n    "myclub_rule":"/about/faq?t=3",\r\n    "url_course_qadetail":"/qadetail",\r\n    "media_id":"10682"\r\n  }\r\n  var seajsTimestamp="v=201612071925";\r\n  var courseName="Python\xe5\xbc\x80\xe5\x8f\x91\xe7\xae\x80\xe5\x8d\x95\xe7\x88\xac\xe8\x99\xab";\r\n    var isLogin = 0;\r\n  </script>\r\n\r\n\r\n\r\n<script type="text/javascript">\r\nvar pageInfo = { mid : 10682 };\r\nvar video_id= 9495;\r\nvar course_id = 563;\r\nvar chapter_id = 2801;\r\nvar ispreview =\'0\';\r\nvar videoTitle = "5-2 Python\xe7\x88\xac\xe8\x99\xaburlib2\xe4\xb8\x8b\xe8\xbd\xbd\xe5\x99\xa8\xe7\xbd\x91\xe9\xa1\xb5\xe7\x9a\x84\xe4\xb8\x89\xe7\xa7\x8d\xe6\x96\xb9\xe6\xb3\x95";\r\n</script>\r\n\r\n\r\n<link rel="stylesheet" href="http://static.mukewang.com/static/css/??base.css,common/common-less.css?t=3,course/inc/course_common-less.css?t=4,common/pic-viewer-less.css,course/course_play-less.css,nanoscroller.css?v=201612071925" type="text/css" />\n</head>\r\n<body >\r\n\r\n\r\n<div id="header" class="course-detail-header">\r\n  <div class="cd-inner clearfix">\r\n      <ul class="l">\r\n        <li class="nv nv-goback"><a href="/learn/563" class="revert l"><i class="icon icon-left"></i></a></li>\r\n        <li class="nv nv-menu">\r\n          <a href="javascript:;" class="chaptername J-chaptername"  data-id="10682" style="cursor:text;"><span>Python\xe5\xbc\x80\xe5\x8f\x91\xe7\xae\x80\xe5\x8d\x95\xe7\x88\xac\xe8\x99\xab</span><em>5-2 Python\xe7\x88\xac\xe8\x99\xaburlib2\xe4\xb8\x8b\xe8\xbd\xbd\xe5\x99\xa8\xe7\xbd\x91\xe9\xa1\xb5\xe7\x9a\x84\xe4\xb8\x89...</em></a>\r\n        </li>\r\n        <li class="nv nv-share bdsharebuttonbox" >\r\n          <!-- note:bdshare cannt user inner icon tag-->\r\n            <span>\xe5\x88\x86\xe4\xba\xab</span>\r\n            <a class="bds_weixin" data-cmd="weixin"></a>\r\n            <a class="bds_qzone" data-cmd="qzone" href="#"></a>\r\n            <a class="bds_tsina" data-cmd="tsina"></a>\r\n\r\n          <div style="display:none" id="coursePic" ><img src="http://img.mukewang.com/57466ffc00015e2f06000338-590-330.jpg"></div>\r\n        </li>\r\n        <li class="nv credit-tips js-share-statue">\r\n          <span>\xe5\x88\x86\xe4\xba\xab\xe5\x8d\xb3\xe5\x8f\xaf +</span><strong>1\xe7\xa7\xaf\xe5\x88\x86</strong>\r\n        </li>\r\n      </ul>\r\n\r\n              <div id="login-area">\r\n            <ul class="header-unlogin clearfix">\r\n                <li class="header-app">\r\n                    <a href="/mobile/app" >\r\n                        <span class="icon-appdownload"></span>\r\n                    </a>\r\n                    <div class="QR-download">\r\n                        <p id="app-text">\xe6\x85\x95\xe8\xaf\xbe\xe7\xbd\x91APP\xe4\xb8\x8b\xe8\xbd\xbd</p>\r\n                        <p id="app-type">iPhone / Android / iPad</p>\r\n                        <img src="/static/img/index/QR-code.jpg">\r\n                    </div>\r\n                </li>\r\n                <li class="header-signin">\r\n                    <a href="#" id="js-signin-btn">\xe7\x99\xbb\xe5\xbd\x95</a>\r\n                </li>\r\n                <li class="header-signup">\r\n                    <a href="#" id="js-signup-btn">\xe6\xb3\xa8\xe5\x86\x8c</a>\r\n                </li>\r\n            </ul>\r\n        </div>\r\n        \r\n  </div>\r\n</div>\r\n\r\n<div id="studyMain">\r\n\r\n \r\n<div id="bgarea" class="video-con">\r\n    <div class="js-box-wrap">\r\n        <div id="J_Box" class="course-video-box">\r\n            <div id="video-box" class="video-wrap"></div>\r\n            <div class="next-box J_next-box hide">\r\n                <div class="next-box-inner">\r\n                                            <div class="course-tip-layer J-next-course" data-next-src="/video/10683">\r\n                            <h2>\xe4\xb8\x8b\xe4\xb8\x80\xe8\x8a\x82\xe8\xaf\xbe\xe7\xa8\x8b\xef\xbc\x9a Python\xe7\x88\xac\xe8\x99\xaburlib2\xe5\xae\x9e\xe4\xbe\x8b\xe4\xbb\xa3\xe7\xa0\x81\xe6\xbc\x94\xe7\xa4\xba\r\n                                <span class="course-duration"> (05:06)</span>\r\n                            </h2>\r\n                            <div class="J-next-auto hide next-auto"><em>3</em> \xe7\xa7\x92\xe5\x90\x8e\xe6\x92\xad\xe6\x94\xbe\xe4\xb8\x8b\xe4\xb8\x80\xe8\x8a\x82</div>\r\n                            <div class="J-next-btn hide btn btn-red">\xe4\xb8\x8b\xe4\xb8\x80\xe8\x8a\x82</div>\r\n                            <a href="/video/10682/0" class="review-course">\xe9\x87\x8d\xe6\x96\xb0\xe8\xa7\x82\xe7\x9c\x8b</a>\r\n                            \r\n                            <div id="js-ques-box"></div>                        </div>\r\n\r\n                                    </div>\r\n            </div>\r\n        </div>\r\n    </div>\r\n    <!--\xe6\xad\xa4\xe5\xa4\x84\xe7\xbb\x93\xe6\x9e\x84\xe4\xb8\xba\xe7\xbb\x83\xe4\xb9\xa0\xe9\xa2\x98\xef\xbc\x8c\xe8\xa7\x86\xe9\xa2\x91\xef\xbc\x8c\xe7\xbc\x96\xe7\xa8\x8b\xe5\x85\xac\xe7\x94\xa8\xe7\x9a\x84\xe4\xbe\xa7\xe6\xa0\x8f-->\r\n<div class="section-list">\r\n    <div class="operator">\r\n        <div class="op chapter"><em class="icon-menu"></em>\xe7\xab\xa0\xe8\x8a\x82</div>\r\n        <div class="op notes"><em class="icon-note"></em>\xe7\xac\x94\xe8\xae\xb0</div>\r\n        <div class="op question"><em class="icon-addques"></em>\xe6\x8f\x90\xe9\x97\xae</div>\r\n        <div class="op wiki"><em class="icon-wiki"></em>WIKI</div>\r\n    </div>\r\n    <div class="nano">\r\n        <div class="nano-content">\r\n            <h3>Python\xe5\xbc\x80\xe5\x8f\x91\xe7\xae\x80\xe5\x8d\x95\xe7\x88\xac\xe8\x99\xab</h3>\r\n                        <ul>\r\n                <li class="sec-title">\r\n                    <span>\xe7\xac\xac1\xe7\xab\xa0 \xe8\xaf\xbe\xe7\xa8\x8b\xe4\xbb\x8b\xe7\xbb\x8d</span>\r\n                </li>\r\n                                                        <li data-id="10674">\r\n                                                <a href="/video/10674"><em class="icon-video"></em>1-1 Python\xe5\xbc\x80\xe5\x8f\x91\xe7\xae\x80\xe5\x8d\x95\xe7\x88\xac\xe8\x99\xab\xe8\xaf\xbe\xe7\xa8\x8b\xe4\xbb\x8b...(02:41)</a>                        \r\n                                            </li>\r\n                                                </ul>\r\n                        <ul>\r\n                <li class="sec-title">\r\n                    <span>\xe7\xac\xac2\xe7\xab\xa0 \xe7\x88\xac\xe8\x99\xab\xe7\xae\x80\xe4\xbb\x8b\xe4\xbb\xa5\xe5\x8f\x8a\xe7\x88\xac\xe8\x99\xab\xe7\x9a\x84\xe6\x8a\x80\xe6\x9c\xaf\xe4\xbb\xb7\xe5\x80\xbc...</span>\r\n                </li>\r\n                                                        <li data-id="10675">\r\n                                                <a href="/video/10675"><em class="icon-video"></em>2-1 \xe7\x88\xac\xe8\x99\xab\xe6\x98\xaf\xe4\xbb\x80\xe4\xb9\x88(01:10)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10676">\r\n                                                <a href="/video/10676"><em class="icon-video"></em>2-2 \xe7\x88\xac\xe8\x99\xab\xe6\x8a\x80\xe6\x9c\xaf\xe7\x9a\x84\xe4\xbb\xb7\xe5\x80\xbc(01:23)</a>                        \r\n                                            </li>\r\n                                                </ul>\r\n                        <ul>\r\n                <li class="sec-title">\r\n                    <span>\xe7\xac\xac3\xe7\xab\xa0 \xe7\xae\x80\xe5\x8d\x95\xe7\x88\xac\xe8\x99\xab\xe6\x9e\xb6\xe6\x9e\x84</span>\r\n                </li>\r\n                                                        <li data-id="10677">\r\n                                                <a href="/video/10677"><em class="icon-video"></em>3-1 Python\xe7\xae\x80\xe5\x8d\x95\xe7\x88\xac\xe8\x99\xab\xe6\x9e\xb6\xe6\x9e\x84(01:30)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10678">\r\n                                                <a href="/video/10678"><em class="icon-video"></em>3-2 Python\xe7\xae\x80\xe5\x8d\x95\xe7\x88\xac\xe8\x99\xab\xe6\x9e\xb6\xe6\x9e\x84\xe7\x9a\x84\xe5\x8a\xa8\xe6\x80\x81...(01:41)</a>                        \r\n                                            </li>\r\n                                                </ul>\r\n                        <ul>\r\n                <li class="sec-title">\r\n                    <span>\xe7\xac\xac4\xe7\xab\xa0 URL\xe7\xae\xa1\xe7\x90\x86\xe5\x99\xa8\xe5\x92\x8c\xe5\xae\x9e\xe7\x8e\xb0\xe6\x96\xb9\xe6\xb3\x95</span>\r\n                </li>\r\n                                                        <li data-id="10679">\r\n                                                <a href="/video/10679"><em class="icon-video"></em>4-1 Python\xe7\x88\xac\xe8\x99\xabURL\xe7\xae\xa1\xe7\x90\x86\xe7\xae\xa1(01:53)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10680">\r\n                                                <a href="/video/10680"><em class="icon-video"></em>4-2 Python\xe7\x88\xac\xe8\x99\xabURL\xe7\xae\xa1\xe7\x90\x86\xe5\x99\xa8\xe7\x9a\x84\xe5\xae\x9e...(01:46)</a>                        \r\n                                            </li>\r\n                                                </ul>\r\n                        <ul>\r\n                <li class="sec-title">\r\n                    <span>\xe7\xac\xac5\xe7\xab\xa0 \xe7\xbd\x91\xe9\xa1\xb5\xe4\xb8\x8b\xe8\xbd\xbd\xe5\x99\xa8\xe5\x92\x8curllib2\xe6\xa8\xa1\xe5\x9d\x97...</span>\r\n                </li>\r\n                                                        <li data-id="10681">\r\n                                                <a href="/video/10681"><em class="icon-video"></em>5-1 Python\xe7\x88\xac\xe8\x99\xab\xe7\xbd\x91\xe9\xa1\xb5\xe4\xb8\x8b\xe8\xbd\xbd\xe5\x99\xa8\xe7\xae\x80\xe4\xbb\x8b...(01:06)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10682">\r\n                                                <a href="/video/10682"><em class="icon-video"></em>5-2 Python\xe7\x88\xac\xe8\x99\xaburlib2\xe4\xb8\x8b\xe8\xbd\xbd\xe5\x99\xa8\xe7\xbd\x91...(03:47)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10683">\r\n                                                <a href="/video/10683"><em class="icon-video"></em>5-3 Python\xe7\x88\xac\xe8\x99\xaburlib2\xe5\xae\x9e\xe4\xbe\x8b\xe4\xbb\xa3\xe7\xa0\x81...(05:06)</a>                        \r\n                                            </li>\r\n                                                </ul>\r\n                        <ul>\r\n                <li class="sec-title">\r\n                    <span>\xe7\xac\xac6\xe7\xab\xa0 \xe7\xbd\x91\xe9\xa1\xb5\xe8\xa7\xa3\xe6\x9e\x90\xe5\x99\xa8\xe5\x92\x8cBeautifulSoup\xe7\xac\xac\xe4\xb8\x89...</span>\r\n                </li>\r\n                                                        <li data-id="10684">\r\n                                                <a href="/video/10684"><em class="icon-video"></em>6-1 Python\xe7\x88\xac\xe8\x99\xab\xe7\xbd\x91\xe9\xa1\xb5\xe8\xa7\xa3\xe6\x9e\x90\xe5\x99\xa8\xe7\xae\x80\xe4\xbb\x8b...(03:49)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10685">\r\n                                                <a href="/video/10685"><em class="icon-video"></em>6-2 BeautifulSoup\xe6\xa8\xa1\xe5\x9d\x97\xe4\xbb\x8b\xe7\xbb\x8d\xe5\x92\x8c...(02:07)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10686">\r\n                                                <a href="/video/10686"><em class="icon-video"></em>6-3 BeautifulSoup\xe7\x9a\x84\xe8\xaf\xad\xe6\xb3\x95(04:14)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10687">\r\n                                                <a href="/video/10687"><em class="icon-video"></em>6-4 BeautifulSoup\xe5\xae\x9e\xe4\xbe\x8b\xe6\xb5\x8b\xe8\xaf\x95...(06:01)</a>                        \r\n                                            </li>\r\n                                                </ul>\r\n                        <ul>\r\n                <li class="sec-title">\r\n                    <span>\xe7\xac\xac7\xe7\xab\xa0 \xe5\xae\x9e\xe6\x88\x98\xe6\xbc\x94\xe7\xbb\x83\xef\xbc\x9a\xe7\x88\xac\xe5\x8f\x96\xe7\x99\xbe\xe5\xba\xa6\xe7\x99\xbe\xe7\xa7\x911000\xe4\xb8\xaa\xe9\xa1\xb5...</span>\r\n                </li>\r\n                                                        <li data-id="10688">\r\n                                                <a href="/video/10688"><em class="icon-video"></em>7-1 Python\xe7\x88\xac\xe8\x99\xab\xe5\xae\x9e\xe4\xbe\x8b-\xe5\x88\x86\xe6\x9e\x90\xe7\x9b\xae\xe6\xa0\x87...(05:59)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10689">\r\n                                                <a href="/video/10689"><em class="icon-video"></em>7-2 \xe8\xb0\x83\xe5\xba\xa6\xe7\xa8\x8b\xe5\xba\x8f(10:21)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10690">\r\n                                                <a href="/video/10690"><em class="icon-video"></em>7-3 URL\xe7\xae\xa1\xe7\x90\x86\xe5\x99\xa8(03:48)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10691">\r\n                                                <a href="/video/10691"><em class="icon-video"></em>7-4 HTML\xe4\xb8\x8b\xe8\xbd\xbd\xe5\x99\xa8html_downloade...(01:24)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10692">\r\n                                                <a href="/video/10692"><em class="icon-video"></em>7-5 HTML\xe8\xa7\xa3\xe6\x9e\x90\xe5\x99\xa8html_parser(07:25)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10693">\r\n                                                <a href="/video/10693"><em class="icon-video"></em>7-6 HTML\xe8\xbe\x93\xe5\x87\xba\xe5\x99\xa8(03:30)</a>                        \r\n                                            </li>\r\n                                                                            <li data-id="10694">\r\n                                                <a href="/video/10694"><em class="icon-video"></em>7-7 \xe5\xbc\x80\xe5\xa7\x8b\xe8\xbf\x90\xe8\xa1\x8c\xe7\x88\xac\xe8\x99\xab\xe5\x92\x8c\xe7\x88\xac\xe5\x8f\x96\xe7\xbb\x93\xe6\x9e\x9c\xe5\xb1\x95...(01:58)</a>                        \r\n                                            </li>\r\n                                                </ul>\r\n                        <ul>\r\n                <li class="sec-title">\r\n                    <span>\xe7\xac\xac8\xe7\xab\xa0 \xe8\xaf\xbe\xe7\xa8\x8b\xe6\x80\xbb\xe7\xbb\x93</span>\r\n                </li>\r\n                                                        <li data-id="10695">\r\n                                                <a href="/video/10695"><em class="icon-video"></em>8-1 \xe8\xaf\xbe\xe7\xa8\x8b\xe6\x80\xbb\xe7\xbb\x93(01:05)</a>                        \r\n                                            </li>\r\n                                                </ul>\r\n            \r\n        </div>\r\n    </div>\r\n</div></div>\r\n\r\n<div class="maybe-wenda" id="maybe-wenda" style="display: none;">\r\n    <i class="icon-chat"></i>\r\n    <p class="text">\xe4\xbd\xa0\xe5\x8f\x91\xe7\x9a\x84\xe8\xaf\x84\xe8\xae\xba\xe5\x8f\xaf\xe8\x83\xbd\xe4\xbc\x9a\xe6\x98\xaf\xe9\x97\xae\xe9\xa2\x98\xef\xbc\x9f<br/>\xe6\x98\xaf\xe5\x90\xa6\xe5\xb0\x86\xe4\xbb\x96\xe5\x8f\x91\xe5\x88\xb0\xe9\x97\xae\xe7\xad\x94\xe4\xb8\xad</p>\r\n    <input class="btn ok" type="button" value="\xe5\xa5\xbd\xe7\x9a\x84" id="wenda-ok">\r\n    <input class="btn no" type="button" value="\xe4\xb8\x8d\xe7\x94\xa8" id="wenda-no">\r\n</div>\r\n</div>\r\n\r\n<div class="course-subcontainer clearfix">\r\n  <div class="course-left">\r\n      <ul class="course-menu course-video-menu clearfix js-course-menu" data-ower="all" data-sort="last">\r\n    <li class="course-menu-item"><a class="active" href="javascript:void(0)" id="plMenu">\xe8\xaf\x84\xe8\xae\xba</a></li>\r\n    <li class="course-menu-item"><a href="javascript:void(0)" id="qaMenu">\xe9\x97\xae\xe7\xad\x94</a></li>\r\n    <li class="course-menu-item"><a href="javascript:void(0)" id="noteMenu">\xe7\xac\x94\xe8\xae\xb0</a></li>\r\n    <!--\r\n    <li class="course-menu-item"><a href="javascript:void(0)" id="wikiMenu">WIKI</a></li>\r\n    -->\r\n        </ul>\r\n<div id="disArea" class="lists-container list-wrap">\r\n    <div id="pl-content" class="list-tab-con">\r\n        <div class="publish clearfix" id="discus-publish">\r\n            <div class="publish-wrap publish-wrap-pl">\r\n                <div class="pl-input-wrap clearfix">\r\n                    <a href="" class="user-head l">\r\n                        <img src="http://img.mukewang.com/images/avatar_default.png" >\r\n                    </a>\r\n                    <div id="js-pl-input-fake" class="pl-input-inner l">\r\n                       <textarea  id="js-pl-textarea" class="js-placeholder" placeholder="\xe6\x89\xaf\xe6\xb7\xa1\xe3\x80\x81\xe5\x90\x90\xe6\xa7\xbd\xe3\x80\x81\xe8\xa1\xa8\xe6\x89\xac\xe3\x80\x81\xe9\xbc\x93\xe5\x8a\xb1\xe2\x80\xa6\xe2\x80\xa6\xe6\x83\xb3\xe8\xaf\xb4\xe5\x95\xa5\xe5\xb0\xb1\xe8\xaf\xb4\xe5\x95\xa5\xef\xbc\x81" ></textarea>\r\n                       <span  class="num-limit"><span id="js-pl-limit">0</span>/300</span>\r\n                    </div>\r\n                    <div class="pl-input-btm input-btm clearfix">\r\n                        <div class="verify-code l"></div>\r\n                        <input type="button"  id="js-pl-submit" class="r course-btn" value="\xe5\x8f\x91\xe8\xa1\xa8\xe8\xaf\x84\xe8\xae\xba" />\r\n                    </div>\r\n                </div>\r\n\r\n            </div>\r\n        </div>\r\n        <div id="plLoadListData"></div>\r\n    </div>\r\n    <div id="qa-content" class="list-tab-con" style="display:none">\r\n        <div id="qaLoadListData"></div>\r\n    </div>\r\n    <div id="note-content" class="list-tab-con" style="display:none">\r\n        <div id="noteLoadListData">\r\n        </div>\r\n    </div>\r\n    <div id="wiki-content" class="list-tab-con" style="display:none;">\r\n        <div id="wikiLoadListData">\r\n        </div>\r\n    </div>\r\n    <div id="mate-content" class="list-tab-con" style="display:none;">\r\n        <div id="mateLoadListData">\r\n        </div>\r\n    </div>\r\n\r\n</div>\r\n  </div>\r\n  <div class="course-right clearfix">\r\n       \r\n  <div class="js-recom-box"></div>\r\n  <div class="wendalist js-right-wenda">\r\n    <div class="course-right-title">\r\n        <h3>\xe7\x8c\xbf\xe9\x97\xae\xe6\x8e\xa8\xe8\x8d\x90</h3>\r\n        <a href="/wenda/?block_id=tuijian_yw" target="_blank" class="more">\xe6\x9b\xb4\xe5\xa4\x9a</a> \r\n    </div>\r\n\r\n      <ul>\r\n      </ul>\r\n  </div>\r\n  <div class="articlelist js-right-article">\r\n    <div class="course-right-title">\r\n        <h3>\xe6\x89\x8b\xe8\xae\xb0\xe6\x8e\xa8\xe8\x8d\x90</h3>\r\n        <a href="/article/?block_id=tuijian_wz" target="_blank" class="more">\xe6\x9b\xb4\xe5\xa4\x9a</a> \r\n    </div>\r\n    <div class="course-right-content">\r\n      \r\n    </div>\r\n    <ul>\r\n\r\n    </ul>\r\n  </div>  </div>\r\n</div>\r\n\r\n\r\n\r\n<div id="footer" >\r\n    <div class="waper">\r\n        <div class="footerwaper clearfix">\r\n            <div class="followus r">\r\n                <a class="followus-weixin" href="javascript:;"  target="_blank" title="\xe5\xbe\xae\xe4\xbf\xa1">\r\n                    <div class="flw-weixin-box"></div>\r\n                </a>\r\n                <a class="followus-weibo" href="http://weibo.com/u/3306361973"  target="_blank" title="\xe6\x96\xb0\xe6\xb5\xaa\xe5\xbe\xae\xe5\x8d\x9a"></a>\r\n                <a class="followus-qzone" href="http://user.qzone.qq.com/1059809142/" target="_blank" title="QQ\xe7\xa9\xba\xe9\x97\xb4"></a>\r\n            </div>\r\n            <div class="footer_intro l">\r\n                <div class="footer_link">\r\n                    <ul>\r\n                        <li><a href="http://www.imooc.com/" target="_blank">\xe7\xbd\x91\xe7\xab\x99\xe9\xa6\x96\xe9\xa1\xb5</a></li>\r\n                        <li><a href="/about/cooperate" target="_blank" title="\xe4\xbc\x81\xe4\xb8\x9a\xe5\x90\x88\xe4\xbd\x9c">\xe4\xbc\x81\xe4\xb8\x9a\xe5\x90\x88\xe4\xbd\x9c</a></li>\r\n                        <li><a href="/about/job" target="_blank">\xe4\xba\xba\xe6\x89\x8d\xe6\x8b\x9b\xe8\x81\x98</a></li>\r\n                        <li> <a href="/about/contact" target="_blank">\xe8\x81\x94\xe7\xb3\xbb\xe6\x88\x91\xe4\xbb\xac</a></li>\r\n                        <!--<li><a href="/subject/html" target="_blank">\xe4\xb8\x93\xe9\xa2\x98\xe9\xa1\xb5\xe9\x9d\xa2</a></li>-->\r\n                        <li><a href="/about/us" target="_blank">\xe5\x85\xb3\xe4\xba\x8e\xe6\x88\x91\xe4\xbb\xac</a></li>\r\n                        <li> <a href="/about/recruit" target="_blank">\xe8\xae\xb2\xe5\xb8\x88\xe6\x8b\x9b\xe5\x8b\x9f</a></li>\r\n                        <li> <a href="/user/feedback" target="_blank">\xe6\x84\x8f\xe8\xa7\x81\xe5\x8f\x8d\xe9\xa6\x88</a></li>\r\n                        <li> <a href="/about/friendly" target="_blank">\xe5\x8f\x8b\xe6\x83\x85\xe9\x93\xbe\xe6\x8e\xa5</a></li>\r\n                    </ul>\r\n                </div>\r\n                <p>Copyright \xc2\xa9 2016 imooc.com All Rights Reserved | \xe4\xba\xacICP\xe5\xa4\x87 13046642\xe5\x8f\xb7-2</p>\r\n            </div>\r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n\r\n\r\n<script type="text/javascript" charset="utf-8" src="/static/lib/ueditor/ueditor.final.min.js"></script>\r\n\r\n<script src="/passport/static/scripts/ssologin.js"></script>\r\n<script type="text/javascript" src="/static/sea-modules/seajs/seajs/2.1.1/sea.js"></script>\r\n<script type="text/javascript" src="/static/sea_config.js?v=201612071925"></script>\r\n<script type="text/javascript">seajs.use("/static/page/"+OP_CONFIG.module+"/"+OP_CONFIG.page);</script>\r\n\r\n\r\n\r\n<div style="display: none">\r\n  <script type="text/javascript">\r\n  var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");\r\n  document.write(unescape("%3Cscript src=\'" + _bdhmProtocol + "hm.baidu.com/h.js%3Ff0cfcccd7b1393990c78efdeebff3968\' type=\'text/javascript\'%3E%3C/script%3E"));\r\n  </script>\r\n</div>\r\n<!--\xe7\xac\x94\xe8\xae\xb0\xe5\xbc\xb9\xe5\x87\xba\xe6\xa1\x86-->\r\n\r\n<script type="text/imooc-tpl" id="course-note-tpl">\r\n   <div class="note-pop">\r\n        <div id="js-note-input-fake" class="textarea-wrap">\r\n            <textarea data-maxlength="1000" id="js-note-textarea" class="js-placeholder" name="" placeholder="\xe8\xaf\xb7\xe8\xbe\x93\xe5\x85\xa5\xe7\xac\x94\xe8\xae\xb0\xe5\x86\x85\xe5\xae\xb9..."></textarea>\r\n            <p class="note-text-counter"><span id="js-note-limit">0</span>/1000</p>\r\n        </div>\r\n        <div class="publish-note-btns input-btm clearfix">\r\n            <div class="verify-code clearfix"></div>\r\n                                            <div title="\xe6\x88\xaa\xe5\x9b\xbe"  class="js-shot-video screen-btn" data-type="note">\r\n                    <span>\xe6\x88\xaa\xe5\x9b\xbe</span>\r\n                </div>\r\n                                        <input type="button" title="\xe5\x8f\x91\xe8\xa1\xa8" value="\xe4\xbf\x9d\xe5\xad\x98" id="js-note-submit" class="moco-btn moco-btn-green r" />\r\n            <!-- <label for="js-isshare"  class="label-checked r"><input type="checkbox" checked="checked" id="js-isshare" class="checked" /> \xe5\x85\xac\xe5\xbc\x80</label> -->\r\n        </div>\r\n</div>\r\n</script>\r\n<!--\xe9\x97\xae\xe7\xad\x94\xe5\xbc\xb9\xe5\x87\xba\xe6\xa1\x86 \xe9\x80\x9a\xe7\x94\xa8-->\r\n<script type="text/imooc-tpl" id="course-qa-tpl">\r\n\r\n    <div class="qa-pop">\r\n\r\n            <div class="question-area">\r\n                <div class="qa-control qa-ipt-title">\r\n                    <input type="text" id="js-qa-title" maxlength="255" class="js-placeholder autocomplete" placeholder="\xe8\xaf\xb7\xe8\xbe\x93\xe5\x85\xa5\xe9\x97\xae\xe9\xa2\x98\xe6\xa0\x87\xe9\xa2\x98" />\r\n                </div>\r\n                <a href="http://www.imooc.com/wenda/detail/292353" target="_blank" class="another-meth">\xe5\xa6\x82\xe4\xbd\x95\xe6\x9b\xb4\xe5\xa5\xbd<br />\xe7\x9a\x84\xe6\x8f\x90\xe9\x97\xae\xef\xbc\x9f</a>\r\n                <dl class="send-area-result">\r\n                </dl>\r\n            </div>\r\n\r\n        <div class="qa-control-wrap clearfix">\r\n            <div class="qa-control">\r\n                <div class="rich-text-editor">\r\n                    <textarea id="discuss-editor" >\xe8\xaf\xb7\xe8\xbe\x93\xe5\x85\xa5\xe8\xae\xa8\xe8\xae\xba\xe5\x86\x85\xe5\xae\xb9...</textarea>\r\n                </div>\r\n            </div>\r\n        </div>\r\n        <div id="js-discuss-btm" class="discuss-bottom input-btm clearfix pop-footer">\r\n            <div class="verify-code clearfix"></div>\r\n                                            <div title="\xe6\x88\xaa\xe5\x9b\xbe"  class="js-shot-video screen-btn" data-type="qa">\r\n                    <span>\xe6\x88\xaa\xe5\x9b\xbe</span>\r\n                </div>\r\n                                        <input id="js-discuss-submit" class="r moco-btn moco-btn-green" type="button" value="\xe5\x8f\x91\xe5\xb8\x83" />\r\n        </div>\r\n        <div id="use-credit-tip" class="use-credit-tip">\r\n            <span class="credit-info">\xe6\x9c\xac\xe6\xac\xa1\xe6\x8f\x90\xe9\x97\xae\xe5\xb0\x86\xe8\x8a\xb1\xe8\xb4\xb92\xe4\xb8\xaa\xe7\xa7\xaf\xe5\x88\x86</span>\r\n            <a class="credit-rule" href="/about/faq?t=3" target="_blank">\xe4\xb8\xba\xe4\xbb\x80\xe4\xb9\x88\xe6\x89\xa3\xe7\xa7\xaf\xe5\x88\x86\xef\xbc\x9f</a>\r\n        </div>\r\n    </div>\r\n\r\n</script>\r\n<!--\xe7\xa7\xaf\xe5\x88\x86\xe5\xbc\xb9\xe5\x87\xba\xe6\xa1\x86-->\r\n<div class="integral-pop" id="no-credit">\r\n    <div class="pop-con">\r\n        <span class="icon-point"></span>\r\n                    <p>\xe6\x9c\xac\xe6\xac\xa1\xe6\x8f\x90\xe9\x97\xae\xe5\xb0\x86\xe8\x8a\xb1\xe8\xb4\xb92\xe4\xb8\xaa\xe7\xa7\xaf\xe5\x88\x86</p>\r\n                <p>\xe4\xbd\xa0\xe7\x9a\x84\xe7\xa7\xaf\xe5\x88\x86\xe4\xb8\x8d\xe8\xb6\xb3\xef\xbc\x8c\xe6\x97\xa0\xe6\xb3\x95\xe5\x8f\x91\xe8\xa1\xa8</p>\r\n        <a class="integral-rule" href="/about/faq?t=3" target="_blank">\xe4\xb8\xba\xe4\xbb\x80\xe4\xb9\x88\xe6\x89\xa3\xe7\xa7\xaf\xe5\x88\x86\xef\xbc\x9f</a>\r\n        <div class="ft clearfix">\r\n            <a href="javascript:void(0)" class="btn btn-green l cancel-cf">\xe7\xa1\xae\xe8\xae\xa4</a>\r\n            <a href="javascript:void(0)" class="btn btn-grey r cancel-cf">\xe5\x8f\x96\xe6\xb6\x88</a>\r\n        </div>\r\n    </div>\r\n</div>\r\n<div class="integral-pop" id="enough-credit">\r\n    <div class="pop-con">\r\n        <span class="icon-point"></span>\r\n                    <p>\xe6\x9c\xac\xe6\xac\xa1\xe6\x8f\x90\xe9\x97\xae\xe5\xb0\x86\xe8\x8a\xb1\xe8\xb4\xb92\xe4\xb8\xaa\xe7\xa7\xaf\xe5\x88\x86</p>\r\n                <p>\xe7\xbb\xa7\xe7\xbb\xad\xe5\x8f\x91\xe8\xa1\xa8\xe8\xaf\xb7\xe7\x82\xb9\xe5\x87\xbb "\xe7\xa1\xae\xe5\xae\x9a"</p>\r\n        <a class="integral-rule" href="/about/faq?t=3" target="_blank">\xe4\xb8\xba\xe4\xbb\x80\xe4\xb9\x88\xe6\x89\xa3\xe7\xa7\xaf\xe5\x88\x86\xef\xbc\x9f</a>\r\n        <div class="ft clearfix">\r\n            <a id="interal-use" href="javascript:void(0)" class="btn btn-green l">\xe7\xa1\xae\xe8\xae\xa4</a>\r\n            <a id="interal-cancel" href="javascript:void(0)" class="btn btn-grey r">\xe5\x8f\x96\xe6\xb6\x88</a>\r\n        </div>\r\n    </div>\r\n</div>\r\n\r\n<!--WIKI\xe5\xbc\xb9\xe5\x87\xba\xe6\xa1\x86 \xe9\x80\x9a\xe7\x94\xa8-->\r\n<script type="text/imooc-tpl" id="course-wiki-tpl">\r\n    <div class="wiki-pop">\r\n\r\n        <div class=\'search_box clearfix\'>\r\n            <input class=\'search_ipt\' type=\'text\' placeholder=\'\xe8\xbe\x93\xe5\x85\xa5\xe4\xbd\xa0\xe6\x83\xb3\xe8\xa6\x81\xe6\x89\xbe\xe7\x9a\x84WiKi\xe8\xaf\x8d\xe6\x9d\xa1\xe5\x90\x8d\xe7\xa7\xb0\' />\r\n            <input type=\'button\' value=\'\xe6\x90\x9c\xe7\xb4\xa2\' class=\'search_btn\' />\r\n            <a class=\'createwiki\' href=\'/wiki/create\' target="_blank">\xe5\x88\x9b\xe5\xbb\xbawiki</a>\r\n        </div>\r\n        \r\n        <div id=\'js-search-area-result\' class=\'search-area-result\'>\r\n        </div>\r\n    </div>\r\n\r\n</script>\r\n\r\n<div id="video_mark" class="video_mark" style="display:none;"></div>\r\n<!--<div class="fixed-video js-fixed-video">-->\r\n    <!--<h3>\xe7\x82\xb9\xe5\x87\xbb\xe6\x8c\x89\xe4\xbd\x8f\xe8\xaf\xa5\xe6\x9d\xa1\xe8\xbf\x9b\xe8\xa1\x8c\xe6\x8b\x96\xe5\x8a\xa8</h3>-->\r\n    <!--<div class="fixed-video-con"></div>-->\r\n<!--</div>-->\r\n<!--\r\n//\xe6\xad\xa4\xe5\xa4\x84\xe7\xbb\x93\xe6\x9e\x84\xe5\x9c\xa8js\xe9\x87\x8c\xe6\x8f\x92\xe5\x85\xa5\r\n<div class="animate-mp" style="left:50%;top:50%">-->\r\n    <!--<p class="mp"><i>+</i><span class="num">8</span>MP</p>-->\r\n    <!--<p class="desc">haha</p>-->\r\n<!--</div>-->\r\n</body>\r\n</html>\r\n'



http下载器(URLDownloadToFile ) http下载,实现 目标另存为 的效果。可以自行编辑下载路径,可显示下载文件的大小,当前已下载大小,下载时间,以及下载进度条。该工程在vs2003中编译、运行成功。该资源来自网络,就不要分了。 立即下载

相关推荐

STM32Cube高效开发教程<高级篇><FreeRTOS>(十八)-----软件定时器

一、 软件定时器概述声明:本人水平有限,博客可能存在部分错误的地方,请广大读者谅解并向本人反馈错误。本专栏博客参考《STM32Cube高效开发教程(高级篇)》,有意向的读者可以购买正版书籍辅助学习,本书籍由王维波老师、鄢志丹老师、王钊老师倾力打造,书籍内容干货满满。在FreeRTOS中,自动创建的任务有空闲任务和定时器服务任务。FreeRTOS可以通过定时器服务任务提供软件定时器功能。在某些对定时精度要求不太高,无须使用硬件定时器的情况下,我们可以使用FreeRTOS的软件定时器。

我的博客 157

保存网页及子页面_一键下载网页所有图片,把美丽存下来

1 总有一些图片你想保存小周浏览了某个网页发现上面的有很多很漂亮的图片,于是想保存下来,开始一波疯狂操作:右键-->图片另存为...。保存了50张图片后,手酸得不行了。只好求助于小南:我酸了,可以拯救我的手指吗?小南不到一分钟,就下载好了所有图片,并打包好发给了小周。那天,小南向小周道出了他深藏多年的秘密......2 Fatkun图片批量下载Fatkun是一个优秀的Chrome插...

weixin_39955355的博客 1105

生成模型实战 | 基于Transformer生成音乐

本文介绍了基于Transformer架构的音乐生成方法,将音乐视为一系列事件序列进行处理。与将音乐表示为多维图像的MuseGAN不同,该方法使用类似GPT的仅解码器模型,基于先前事件预测下一个音乐事件。模型使用MIDI格式的钢琴音乐数据,通过分词处理将音符转换为note-on、note-off、time-shift和velocity四种事件类型,共388个独特词元,映射为索引序列后输入网络。训练完成后,可通过调整温度参数控制生成音乐的新颖性,从而创作出风格类似训练数据且连贯逼真的音乐作品。

盼小辉丶的博客 5873

通过 url 下载文件的浏览器插件

大多数情况下访问 url 就会开始下载文件,但是由于文件格式等原因,下载可能不会开始或者失败,这时可以使用一些浏览器插件,例如 https://chromewebstore.google.com/detail/download-file-%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6/doojagocmmlhpemajhpehimhilnhnppe。

Debug yourself! 887

YOLOv11与3D点云检测融合技术深度解析:从2D检测到三维空间投影的完整实现

2D-3D融合目标检测技术研究 本文系统阐述了基于YOLOv11的2D-3D目标检测融合技术,重点分析了YOLOv11在融合系统中的定位优势及其架构设计。研究表明,2D图像与3D点云数据具有显著的互补特性:2D图像提供丰富语义信息,而3D点云则精确描述几何结构。 关键技术要点: YOLOv11通过GSConv平衡卷积和VoVGSCS特征融合模块,在保持实时性的同时提升了检测精度 系统采用模块化设计,包含坐标投影、点云分割、边界框拟合等核心组件 针对点云数据的非均匀分布特性,提出了多尺度特征增强和距离差异化检

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1128

YOLOv8交通监控全方案:精准车辆计数+违章(闯红灯/压线)识别,拿来就落地!

作为深耕计算机视觉落地的开发者,我见过太多交通监控的“伪智能”——传统系统要么车辆计数不准(漏计/重复计数),要么违章识别滞后(靠人工回看录像),甚至连“闯红灯、压线”这类常见违章都无法实时判定,完全满足不了实际交通管理需求。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 646

【免费下载】 完整网页下载指南:利用WebZip工具

完整网页下载指南:利用WebZip工具 【下载地址】完整网页下载指南利用WebZip工具分享 完整网页下载指南:利用WebZip工具在进行网页内容备份或是离线浏览需求时,**WebZip** 是一款极其实用的工具 项目地址: ht...

gitblog_06533的博客 906

【nvidia-B200 生产环境】NVIDIA 570.124.06+Cuda12.8 Ubuntu22.04 nccl-test 一键部署脚本(免修改复制即用)

目录1. 初始化与日志记录2. 安装基础工具与配置更新3. NVIDIA 驱动安装 570.124.064. 安装 Mellanox OFED 24.10-2.1.8.05. 安装 CUDA 12.86. 安装 NCCL 和测试7. 配置 rc.local 和其他优化8. B200 单独步骤9. 最终测试与重启10. 完整生产脚本,复制即可直接使用总结 功能: 设置日志目录和日志文件路径。 使用 命令将标准输出和错误输出同时写入日志文件和终端。 记录脚本开始时间,并计算开始的秒数

jundao1997的专栏 2798

python下载网站所有网页,python下载文件到本地

现在,为了启动协同程序,我们必须使用asyncio的get_event_loop()方法将协同程序放入事件循环中,最后,我们使用asyncio的run_until_complete()方法执行该事件循环。在这段代码中,我们使用了urlretrieve方法并传递了文件的URL,以及保存文件的路径。文件扩展名将是.html。在这段代码中,我们首先导入了requests模块,然后,我们从clint.textui导入了进度组件。如果你需要使用代理下载你的文件,你可以使用urllib模块的ProxyHandler。

2301_79533350的博客 1795

图像紫边消除(depurple)

对图像紫边形成原因、消除方法进行了介绍。

沧海一升的博客 7565

OpenClaw实战四|内容创作全流程AI助理:自动撰稿+智能剪辑+多平台发布,一人顶一个内容团队

AI替代的是「写稿、剪辑、发布」这种流水线工作,真正让你解放出来,去做选题、创意、人设、变现这些高价值的事。OpenClaw这套内容创作全流程AI助理,最大的价值不是「帮你发内容」,而是让一个人,拥有一个内容团队的产能。不管是个人博主、小团队,还是企业新媒体,都能用零代码的方式,快速搭建属于自己的自动化内容矩阵。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 589

python3下载网页视频_三种下载网页视频的的方法(亲测!非常详细)

原标题:三种下载网页视频的的方法(亲测!非常详细)大家好,我是莲妈,今天给大家带来三种网页视频的下载方法(公众号:努力的Lotus,里科普资源栏里已经为大家准备好了相关安装包以及命令指令)1.you-get2.IDM(Internet Download Manager)3.乐影音下载器1.you-get首先,我们需要下载python3.7及以上的版本(官网:https://www.python.o...

weixin_39692254的博客 1万+

全新RT-DETR 有效涨点改进目录 | 包含各种卷积、主干改进、各种注意力机制、Neck特征融合改进、损失函数、AIFI创新改进、独家创新、小目标检测、特殊场景检测等最全大论文及小论文必备创新改进点

《全新最全RT-DETR涨点改进专栏》提供500+种创新改进方案,涵盖卷积、注意力机制、主干网络等模块优化,适用于PCB检测、工业缺陷检测等场景。专栏包含顶会论文改进点、数据集增强方法、热力图可视化等实用功能,帮助科研人员快速提升模型性能。提供完整环境配置指南(Python3.10+Pytorch2.5.1)和训练教程,支持不同版本RT-DETR模型。定期更新涨点策略,配套QQ答疑群免费指导,适合从入门到发论文全流程需求,特别推荐给目标检测领域的研究生和工程师。

Ai缝合怪、助力小伙伴高效发论文 3423

Python crawler(一):urllib的三种下载网页方法

原教程来源于imooc链接地址:http://www.imooc.com/learn/563urllib的三种下载网页方法1、测试代码# urlopen的参数可以是request对象和url from urllib import request import http.cookiejarurl = 'http://www.baidu.com' # 指定url为百度首页print('第一种方法:')

DamianGao的博客 2349

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

urllib2下载网页的三种方法_Python爬虫

# -*-coding:gbk-*-''' urllib2下载网页的三种方法 '''import urllib2,cookielib url='http://www.baidu.com'#直接请求 print u'第一种方法_直接请求' response1=urllib2.urlopen(url) print response1.getcode() print len(response1.read(

ShirleyPaul_SmallWorld 1181

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

python3.4.4实现网页爬虫基础之网页下载器三种方法

这是是慕课网《Python开发简单爬虫》中网页下载器的三种实现方法,课程用的是python2.7,这里用最新的3.4.4实现出来,分享给新人: import urllib.request from http.cookiejar import CookieJar url = 'http://www.baidu.com' print('第一种方法') res1 = urllib.request.

Phoenixor 4688

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

urllib2下载网页的三种方法

第一种:直接用urllib2.urlopen方法 import urllib2 url="http://www.baidu.com" print ('NO1') res1=urllib2.urlopen(url) print res1.getcode() #获取成功将返回200 print len(res1.read()) 第二种:用request对象,增加http header

还没想好 2115

urllib2下载器网页的三种方法

python网络爬虫第一步 #coding:utf8 importurllib2 importcookielib url='http://www.baidu.com' print("第一种方法") response1=urllib2.urlopen(url) print(res...

chikuang0023的博客 144

三种方法实现网页下载-(慕课网学习笔记)

网页下载器 网页下载器是将URL对应的网页下载到本地的工具 Python网页下载器: urllib2 : Python官方基础模块 requests : 第三方插件,功能更强大 三种下载网页的方法 最简洁最传统: urllib2.urlopen(url) 需向服务器提供data,http header等信息: request = urllib2.Request(url) req...

weixin_30526593的博客 279

url下载网页的三种方法

# -*- coding: utf-8 -*- import cookielib import urllib2 url = "http://www.baidu.com" print "第一种方法" response1 = urllib2.urlopen(url) print response1.getcode() print len(response1.read()) print "第二种方...

weixin_33840661的博客 969

python下载网页里面所有的图片-python批量下载图片的三种方法

有三种方法,一是用微软提供的扩展库win32com来操作IE,二是用selenium的webdriver,三是用python自带的HTMLParser解析。win32com可以获得类似js里面的document对象,但貌似是只读的(文档都没找到)。selenium则提供了Chrome,IE,FireFox等的支持,每种浏览器都有execute_script和find_element_by_xx方法...

weixin_37988176的博客 1438

urlib2下载网页的三种方法

第一种: # coding:utf8 import urlib2 url="http://www.baidu.com" response1=urlib2.urlopen(url) print response1.getcode() print len(response1.read()) 第二种:request=urlib2.Request(url) request.add_header("u

RoundYuan 1759
上一篇: 小虫出世----第一个爬虫程序(扒下慕课网站的图片)
下一篇: 爬虫----BeautifulSoup 模块
JINKELA_
博客等级 码龄11年 75粉丝 178原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值