当前位置:  开发笔记 > 后端 > 正文

Python爬虫实现网页信息抓取功能示例【URL与正则模块】

这篇文章主要介绍了Python爬虫实现网页信息抓取功能,涉及Python使用URL与正则模块针对网页信息的读取与匹配相关操作技巧,需要的朋友可以参考下

本文实例讲述了Python爬虫实现网页信息抓取功能。分享给大家供大家参考,具体如下:

首先实现关于网页解析、读取等操作我们要用到以下几个模块

import urllib
import urllib2
import re

我们可以尝试一下用readline方法读某个网站,比如说百度

def test():
  f=urllib.urlopen('http://www.baidu.com')
  while True:
   firstLine=f.readline()
   print firstLine

下面我们说一下如何实现网页信息的抓取,比如说百度贴吧

我们大概要做几件事情:

首先获取网页及其代码,这里我们要实现多页,即其网址会改变,我们传递一个页数

  def getPage(self,pageNum):
     try:
        url=self.baseURL+self.seeLZ+'&pn='+str(pageNum)
        #创建request对象
        request=urllib2.Request(url)
        response=urllib2.urlopen(request)
        #print 'URL:'+url
        return response.read()
     except Exception,e:
        print e

之后我们要获取小说内容,这里咱们分为标题和正文。标题每页都有,所以我们获取一次就好了。

我们可以点击某网站,按f12查看他的标题标签是如何构造的,比如说百度贴吧是…………</p> <p>那我们就匹配<code>reg=re.compile(r'<title>(.*?)。')</code>来抓取这个信息</p> <p>标题抓取完我们要开始抓去正文了,我们知道正文会有很多段,所以我们要循环的去抓取整个items,这里我们注意</p> <p>对于文本的读写操作,一定要放在循环外。同时加入一些去除超链接、<br>等机制</p> <p>最后,我们在主函数调用即可</p> <p>完整代码:</p> <div class="jb51code"> <pre class="brush:py;"> # -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') #爬虫之网页信息抓取 #需要的函数方法:urllib,re,urllib2 import urllib import urllib2 import re #测试函数->读取 #def test(): # f=urllib.urlopen('http://www.baidu.com') # while True: # firstLine=f.readline() # print firstLine #针对于百度贴吧获取前十页楼主小说文本内容 class BDTB: def __init__(self,baseUrl,seeLZ): #成员变量 self.baseURL=baseUrl self.seeLZ='?see_lz='+str(seeLZ) #获取该页帖子的代码 def getPage(self,pageNum): try: url=self.baseURL+self.seeLZ+'&pn='+str(pageNum) #创建request对象 request=urllib2.Request(url) response=urllib2.urlopen(request) #print 'URL:'+url return response.read() except Exception,e: print e #匹配标题 def Title(self): html=self.getPage(1) #compile提高正则匹配效率 reg=re.compile(r'<title>(.*?)。') #返回list列表 items=re.findall(reg,html) f=open('output.txt','w+') item=('').join(items) f.write('\t\t\t\t\t'+item.encode('gbk')) f.close() #匹配正文 def Text(self,pageNum): html=self.getPage(pageNum) #compile提高正则匹配效率 reg=re.compile(r'"d_post_content j_d_post_content ">(.*?)</div>') #返回list列表 items=re.findall(reg,html) f=open('output.txt','a+') #[1:]切片,第一个元素不需要,去掉。 for i in items[1:]: #超链接去除 removeAddr=re.compile('<a.*?>|</a>') #用""替换 i=re.sub(removeAddr,"",i) #<br>去除 i=i.replace('<br>','') f.write('\n\n'+i.encode('gbk')) f.close() #调用入口 baseURL='http://tieba.baidu.com/p/4638659116' bdtb=BDTB(baseURL,1) print '爬虫正在启动....'.encode('gbk') #多页 bdtb.Title() print '抓取标题完毕!'.encode('gbk') for i in range(1,11): print '正在抓取第%02d页'.encode('gbk')%i bdtb.Text(i) print '抓取正文完毕!'.encode('gbk') </pre> </div> <p><span style="color: #800000"><strong>PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:</strong></span></p> <p><span style="color: #ff6600"><strong>JavaScript正则表达式在线测试工具:<br /> </strong></span>http://tools.jb51.net/regex/javascript</p> <p><span style="color: #ff6600"><strong>正则表达式在线生成工具:<br /> </strong></span>http://tools.jb51.net/regex/create_reg</p> <p>更多关于Python相关内容可查看本站专题:《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》</p> <p>希望本文所述对大家Python程序设计有所帮助。</p> </div> <div class="article_ab" style="width: 720px;height: 100px;margin: 0 auto;margin-top: 15px;"> </div> <div class="article_recommend"> <div class="list_top">推荐阅读</div> <div class="ListItems"> <ul class="NewsList"> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/RuHeZai_aspx_Wen_9c6da088.html" target="_blank" title="如何在aspx文件中调用转发器中的函数?">如何在aspx文件中调用转发器中的函数?</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《如何在aspx文件中调用转发器中的函数?》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/RuHeZai_aspx_Wen_9c6da088.html" target="_blank" title="如何在aspx文件中调用转发器中的函数?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/SQLServer2012_Ch_7b9abd57.html" target="_blank" title="SQL Server 2012窗口函数计算运行总计">SQL Server 2012窗口函数计算运行总计</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《SQLServer2012窗口函数计算运行总计》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/SQLServer2012_Ch_7b9abd57.html" target="_blank" title="SQL Server 2012窗口函数计算运行总计">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/JSHint-_RuHeJinY_a4525427.html" target="_blank" title="JSHint:如何禁用检查注释的不安全字符?">JSHint:如何禁用检查注释的不安全字符?</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《JSHint:如何禁用检查注释的不安全字符?》经验,为你挑选了2个好方法。 ... <a href="https://devbox.cn/p/JSHint-_RuHeJinY_a4525427.html" target="_blank" title="JSHint:如何禁用检查注释的不安全字符?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/YouTubeAPIv3apic_9a1e77cf.html" target="_blank" title="YouTube API v3 apiclient.errors.HttpError“未选择过滤器。” -在哪里选择过滤器?">YouTube API v3 apiclient.errors.HttpError“未选择过滤器。” -在哪里选择过滤器?</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《YouTubeAPIv3apiclient.errors.HttpError“未选择过滤器。”-在哪里选择过滤器?》经验,为你挑选了0个好方法。 ... <a href="https://devbox.cn/p/YouTubeAPIv3apic_9a1e77cf.html" target="_blank" title="YouTube API v3 apiclient.errors.HttpError“未选择过滤器。” -在哪里选择过滤器?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/SublimeText2_Zho_6cead956.html" target="_blank" title="Sublime Text 2中的"智能引号"与LaTeXTools">Sublime Text 2中的"智能引号"与LaTeXTools</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《SublimeText2中的"智能引号"与LaTeXTools》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/SublimeText2_Zho_6cead956.html" target="_blank" title="Sublime Text 2中的"智能引号"与LaTeXTools">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/RuHeRang_QtCreat_0ec42671.html" target="_blank" title="如何让QtCreator在例外情况下中断?">如何让QtCreator在例外情况下中断?</a></h2> </div> <div class="NewsInfo"> <div class="NewsImg"> <a href="https://devbox.cn/p/RuHeRang_QtCreat_0ec42671.html" target="_blank" title="如何让QtCreator在例外情况下中断?"><img src="https://img.devbox.cn/3cccf/16086/243/367c4539743ff9b8.png" width="120" height="70" alt="如何让QtCreator在例外情况下中断?"/></a> </div> <div class="NewsDesc" style="width:500px;margin-left:15px;"> 如何解决《如何让QtCreator在例外情况下中断?》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/RuHeRang_QtCreat_0ec42671.html" target="_blank" title="如何让QtCreator在例外情况下中断?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/MySQL_DaoRuShuJu_a1c3c776.html" target="_blank" title="MySQL导入数据库但忽略特定的表">MySQL导入数据库但忽略特定的表</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《MySQL导入数据库但忽略特定的表》经验,为你挑选了2个好方法。 ... <a href="https://devbox.cn/p/MySQL_DaoRuShuJu_a1c3c776.html" target="_blank" title="MySQL导入数据库但忽略特定的表">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/RuHeShiYong_JSON_a2e96b4d.html" target="_blank" title="如何使用JSON从Wikipedia API检索数据?">如何使用JSON从Wikipedia API检索数据?</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《如何使用JSON从WikipediaAPI检索数据?》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/RuHeShiYong_JSON_a2e96b4d.html" target="_blank" title="如何使用JSON从Wikipedia API检索数据?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/ZhengQueDeFangZh_c06d8da8.html" target="_blank" title="正确的防止Rails中重复记录的方法">正确的防止Rails中重复记录的方法</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《正确的防止Rails中重复记录的方法》经验,为你挑选了3个好方法。 ... <a href="https://devbox.cn/p/ZhengQueDeFangZh_c06d8da8.html" target="_blank" title="正确的防止Rails中重复记录的方法">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/GengGaiShiJianDe_4f34fcd6.html" target="_blank" title="更改事件的更改属性">更改事件的更改属性</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《更改事件的更改属性》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/GengGaiShiJianDe_4f34fcd6.html" target="_blank" title="更改事件的更改属性">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/RuHeWeiXiangTong_d76006dc.html" target="_blank" title="如何为相同的字典生成唯一的相等哈希?">如何为相同的字典生成唯一的相等哈希?</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《如何为相同的字典生成唯一的相等哈希?》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/RuHeWeiXiangTong_d76006dc.html" target="_blank" title="如何为相同的字典生成唯一的相等哈希?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/typedef_Zai_C_Zh_df2e8680.html" target="_blank" title="typedef在C中的区别?">typedef在C中的区别?</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《typedef在C中的区别?》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/typedef_Zai_C_Zh_df2e8680.html" target="_blank" title="typedef在C中的区别?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/ShiYong_imageMap_106b586f.html" target="_blank" title="使用imageMapster调整响应式图像映射:我是否误解了scaleMap的作用?">使用imageMapster调整响应式图像映射:我是否误解了scaleMap的作用?</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《使用imageMapster调整响应式图像映射:我是否误解了scaleMap的作用?》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/ShiYong_imageMap_106b586f.html" target="_blank" title="使用imageMapster调整响应式图像映射:我是否误解了scaleMap的作用?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/Zai_OracleSQL_Zh_cdb63377.html" target="_blank" title="在Oracle SQL中将xpath值选择为单独的行">在Oracle SQL中将xpath值选择为单独的行</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《在OracleSQL中将xpath值选择为单独的行》经验,为你挑选了0个好方法。 ... <a href="https://devbox.cn/p/Zai_OracleSQL_Zh_cdb63377.html" target="_blank" title="在Oracle SQL中将xpath值选择为单独的行">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/TFS_JiangLiangGe_8644a57f.html" target="_blank" title="TFS将两个变更集合并到同一分支中">TFS将两个变更集合并到同一分支中</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《TFS将两个变更集合并到同一分支中》经验,为你挑选了0个好方法。 ... <a href="https://devbox.cn/p/TFS_JiangLiangGe_8644a57f.html" target="_blank" title="TFS将两个变更集合并到同一分支中">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/--_ShiYong_PDO_H_55ed3371.html" target="_blank" title=""使用PDO和MS SQL,活动结果不包含任何字段"">"使用PDO和MS SQL,活动结果不包含任何字段"</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《"使用PDO和MSSQL,活动结果不包含任何字段"》经验,为你挑选了4个好方法。 ... <a href="https://devbox.cn/p/--_ShiYong_PDO_H_55ed3371.html" target="_blank" title=""使用PDO和MS SQL,活动结果不包含任何字段"">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/WoXiangZai_divon_bb969cf1.html" target="_blank" title="我想在div onClick函数中为图像禁用onClick事件?">我想在div onClick函数中为图像禁用onClick事件?</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《我想在divonClick函数中为图像禁用onClick事件?》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/WoXiangZai_divon_bb969cf1.html" target="_blank" title="我想在div onClick函数中为图像禁用onClick事件?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/ShiYong_ORDERBY__325d668f.html" target="_blank" title="使用ORDER BY更新">使用ORDER BY更新</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《使用ORDERBY更新》经验,为你挑选了2个好方法。 ... <a href="https://devbox.cn/p/ShiYong_ORDERBY__325d668f.html" target="_blank" title="使用ORDER BY更新">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/GengGaiWenJianJi_2f3feb4c.html" target="_blank" title="更改文件夹中文件的文件扩展名?">更改文件夹中文件的文件扩展名?</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《更改文件夹中文件的文件扩展名?》经验,为你挑选了3个好方法。 ... <a href="https://devbox.cn/p/GengGaiWenJianJi_2f3feb4c.html" target="_blank" title="更改文件夹中文件的文件扩展名?">[详细]</a> </div> <div style="clear:both"></div> </li> <li> <div class="NewTitle"> <a class="cat" href="/tag/程序员" title="程序员" target="_blank">程序员<i></i></a> <h2><a href="https://devbox.cn/p/Zai_C--_ZhongDin_4bab3596.html" target="_blank" title="在C++中定义具有相同签名的两个函数">在C++中定义具有相同签名的两个函数</a></h2> </div> <div class="NewsInfo"> <div class="NewsDesc" > 如何解决《在C++中定义具有相同签名的两个函数》经验,为你挑选了1个好方法。 ... <a href="https://devbox.cn/p/Zai_C--_ZhongDin_4bab3596.html" target="_blank" title="在C++中定义具有相同签名的两个函数">[详细]</a> </div> <div style="clear:both"></div> </li> </ul> </div> </div> <div class="article_cmnt" style="display: none;"> <div class="cmnt_title">吐了个 "CAO" !</div> <form action="" method="post"> <div class="cmnt_text"> <textarea class="ping-txt" onfocus="ck_txt(this);" onblur="ck_txt2(this);" id="ping-txt" name="ping-txt" >吐个槽吧,看都看了</textarea> </div> <div class="cmnt_cmt"> <div class="cmnt_login_box"> <a href="https://www.php1.cn/?s=user/login/index&from=">会员登录</a> | <a href="http://www.php1.cn/?s=user/reg/index">用户注册</a> </div> <div class="post_cmnt"><input type="button" value="吐  槽" onclick="post_ping();" /></div> </div> </form> </div> </div> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shCore.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushBash.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushCpp.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushCSharp.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushCss.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushDelphi.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushDiff.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushGroovy.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushJava.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushJScript.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushPhp.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushPlain.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushPython.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushRuby.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushScala.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushSql.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushVb.js"></script> <script type="text/javascript" src="/style/SyntaxHighlighter/scripts/shBrushXml.js"></script> <link type="text/css" rel="stylesheet" href="/style/SyntaxHighlighter/styles/shCore.css"/> <link type="text/css" rel="stylesheet" href="/style/SyntaxHighlighter/styles/shThemeLiuQing.css"/> <style> .syntaxhighlighter{ width: 740px; padding-top:40px;padding-bottom:20px; border: 1px solid #333; background: url("/style/SyntaxHighlighter/top_bg.svg"); background-size: 43px; background-repeat: no-repeat; margin-bottom: -7px; border-radius: 15px; background-position: 16px 12px; padding-left: 10px; } .gutter{ display: none; } </style> <script type="text/javascript"> SyntaxHighlighter.all(); </script> <div class="article_right"> <div class="profile"> <div class="author"> <!-- 未登录 --> <div class="author-avatar"> <a href="/u/liguiping_2402851397"> <img src="https://img.devbox.cn/3cdc5/64c2/cd5/f53c066002fa970f.png" class="lazy-img" data-url="" alt="devbox"> </a> </div> <div class="author-name"> 李桂平2402851397 </div> <div class="author-intro"> 这个屌丝很懒,什么也没留下! </div> <div class="author-bt"> <a href="javascript:;" id="follow_bt" onclick="follow();" class="skins-btn" title="关注作者"> <svg class="icon" style="width: 15px;height: 15px;margin-top:-3px;margin-right:5px;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1428"><path d="M1024 409.6H614.4V0H409.6v409.6H0v204.8h409.6v409.6h204.8V614.4h409.6z" fill="#ffffff" p-id="1429"></path></svg> 关注作者</a> </div> </div> </div> <div class="tools"> <div class="tools_top">Tags | 热门标签</div> <div class="tools_box"> <ul> <li> <a href="/tag/asp.net" target="_blank" title="asp.net">asp.net</a> </li> <li> <a href="/tag/c#" target="_blank" title="c#">c#</a> </li> <li> <a href="/tag/c++" target="_blank" title="c++">c++</a> </li> <li> <a href="/tag/c语言" target="_blank" title="c语言">c语言</a> </li> <li> <a href="/tag/django" target="_blank" title="django">django</a> </li> <li> <a href="/tag/go" target="_blank" title="go">go</a> </li> <li> <a href="/tag/golang" target="_blank" title="golang">golang</a> </li> <li> <a href="/tag/java" target="_blank" title="java">java</a> </li> <li> <a href="/tag/lavarel" target="_blank" title="lavarel">lavarel</a> </li> <li> <a href="/tag/lua" target="_blank" title="lua">lua</a> </li> <li> <a href="/tag/mvc" target="_blank" title="mvc">mvc</a> </li> <li> <a href="/tag/mysql" target="_blank" title="mysql">mysql</a> </li> <li> <a href="/tag/nginx" target="_blank" title="nginx">nginx</a> </li> <li> <a href="/tag/node.js" target="_blank" title="node.js">node.js</a> </li> <li> <a href="/tag/php" target="_blank" title="php">php</a> </li> <li> <a href="/tag/python" target="_blank" title="python">python</a> </li> <li> <a href="/tag/redis" target="_blank" title="redis">redis</a> </li> <li> <a href="/tag/ruby" target="_blank" title="ruby">ruby</a> </li> <li> <a href="/tag/rust" target="_blank" title="rust">rust</a> </li> <li> <a href="/tag/ssl" target="_blank" title="ssl">ssl</a> </li> <li> <a href="/tag/swoole" target="_blank" title="swoole">swoole</a> </li> <li> <a href="/tag/vb" target="_blank" title="vb">vb</a> </li> <li> <a href="/tag/爬虫" target="_blank" title="爬虫">爬虫</a> </li> <div style="clear: both"></div> </ul> </div> </div> <div class="rank"> <div class="rank_top">RankList | 热门文章</div> <div class="rank_box"> <ul> <li> <b >1</b><a href="https://devbox.cn/p/python-_ShiTuLiJ_2ae882ec.html" title="python:试图理解"子进程"O/S调用" target="_blank">python:试图理解"子进程"O/S调用</a> </li> <li> <b >2</b><a href="https://devbox.cn/p/FullCalendar_Zai_9c3996a0.html" title="FullCalendar在周时间线视图中隐藏时间" target="_blank">FullCalendar在周时间线视图中隐藏时间</a> </li> <li> <b >3</b><a href="https://devbox.cn/p/ChaoBao_3_HeiSeC_c26c0f6e.html" title="超薄3黑色错误" target="_blank">超薄3黑色错误</a> </li> <li> <b >4</b><a href="https://devbox.cn/p/c-_Dao_vb-net_Zh_d0355d60.html" title="c#到vb.net转换 - Action(Of T,string)作为元组项" target="_blank">c#到vb.net转换 - Action(Of T,string)作为元组项</a> </li> <li> <b >5</b><a href="https://devbox.cn/p/Jiang_json_GeShi_8163ecf5.html" title="将json格式的Chrome书签文件转换为html" target="_blank">将json格式的Chrome书签文件转换为html</a> </li> <li> <b class="black">6</b><a href="https://devbox.cn/p/TensorFlowrandom_f6b137f1.html" title="TensorFlow random_shuffle_queue已关闭且元素不足" target="_blank">TensorFlow random_shuffle_queue已关闭且元素不足</a> </li> <li> <b class="black">7</b><a href="https://devbox.cn/p/Cong_postgres_Ri_45ccec8e.html" title="从postgres日期提取周数" target="_blank">从postgres日期提取周数</a> </li> <li> <b class="black">8</b><a href="https://devbox.cn/p/QianTaoLieBiaoZh_00631bfd.html" title="嵌套列表中的min/max函数如何工作?" target="_blank">嵌套列表中的min/max函数如何工作?</a> </li> <li> <b class="black">9</b><a href="https://devbox.cn/p/NSNotification_B_11ce0e6d.html" title="NSNotification不会调用@selector方法" target="_blank">NSNotification不会调用@selector方法</a> </li> <li> <b class="black">10</b><a href="https://devbox.cn/p/YiBianChengFangS_e7e4900c.html" title="以编程方式在代码隐藏中添加Visual State Setter" target="_blank">以编程方式在代码隐藏中添加Visual State Setter</a> </li> <li> <b class="black">11</b><a href="https://devbox.cn/p/ShiFouYouLiYouSh_7101bac6.html" title="是否有理由使用$ scope.$ apply而不是$ applyAsync?" target="_blank">是否有理由使用$ scope.$ apply而不是$ applyAsync?</a> </li> <li> <b class="black">12</b><a href="https://devbox.cn/p/Emscriptenmalloc_98b2c6f8.html" title="Emscripten malloc和JS和C++之间的免费版" target="_blank">Emscripten malloc和JS和C++之间的免费版</a> </li> <li> <b class="black">13</b><a href="https://devbox.cn/p/DoesAVAudioUnitE_6c8ef484.html" title="Does AVAudioUnitEQ actually work on iOS?" target="_blank">Does AVAudioUnitEQ actually work on iOS?</a> </li> <li> <b class="black">14</b><a href="https://devbox.cn/p/RuHeZai_Smalltal_f944fdad.html" title="如何在Smalltalk中访问类变量" target="_blank">如何在Smalltalk中访问类变量</a> </li> <li> <b class="black">15</b><a href="https://devbox.cn/p/TianJiaDao_Sourc_ad6d19ff.html" title="添加到SourceBuffer的MediaSource在第一次之后不起作用" target="_blank">添加到SourceBuffer的MediaSource在第一次之后不起作用</a> </li> <li> <b class="black">16</b><a href="https://devbox.cn/p/WuFaJieXiFangFa__f361f597.html" title="无法解析方法setText(java.lang.String)" target="_blank">无法解析方法setText(java.lang.String)</a> </li> <li> <b class="black">17</b><a href="https://devbox.cn/p/Cong_moment-js_D_d3e9dd6d.html" title="从moment.js对象中删除时区" target="_blank">从moment.js对象中删除时区</a> </li> <li> <b class="black">18</b><a href="https://devbox.cn/p/RuGuoBuShouXianS_52d99dee.html" title="如果不首先删除侦听器,重新分配数据源是否会导致内存泄漏?" target="_blank">如果不首先删除侦听器,重新分配数据源是否会导致内存泄漏?</a> </li> <li> <b class="black">19</b><a href="https://devbox.cn/p/numpy_DeBiaoZhun_87cd5ef4.html" title="numpy的标准偏差" target="_blank">numpy的标准偏差</a> </li> <li> <b class="black">20</b><a href="https://devbox.cn/p/ChaZhaoTongGuo_u_81f1ff8f.html" title="查找通过url传递的变量数量" target="_blank">查找通过url传递的变量数量</a> </li> </ul> </div> </div> </div> <div style="clear: both;"></div> </div> <script type="application/javascript"> function follow(uid) { var myDate = new Date(); $.get("/user/follow/post?uid="+uid+"&stime="+myDate.getMilliseconds(),null,function(response){ if(response=="1"){ tips('关注成功!') $("#follow_bt").html('<svg class="icon" style="width: 15px;height: 15px;margin-top:-3px;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1912"><path d="M984.554971 729.818319L757.2752 1001.934666c-23.431608 29.784785-63.349596 27.462118-91.084969 0l-148.309102-117.727323a34.156864 34.156864 0 0 1 34.156863-59.159688L711.732715 956.392181l224.524451-274.871667a34.156864 34.156864 0 1 1 48.297805 48.297805zM506.791534 592.052303c-6.284863 6.968-12.569726 0-22.771243 0-171.103115 0-386.928951 164.066802-386.928951 358.396584 0 18.740733-15.347817 33.951922-34.316262 33.951922a34.156864 34.156864 0 0 1-34.361805-33.951922c0-160.582801 134.122618-342.616113 323.283329-400.181814C261.271998 499.783228 210.765382 406.011252 210.765382 296.026151 210.765382 133.530566 342.428706 0 506.791534 0s296.026151 133.530566 296.026151 296.026151c0 161.630279-132.892971 294.614334-296.026151 296.026152z m0-523.738576c-126.243768 0-227.712424 102.903244-227.712424 227.712424s101.468656 227.712424 227.712424 227.712424 227.712424-102.903244 227.712424-227.712424S633.035302 68.313727 506.791534 68.313727z" p-id="1913"></path></svg>\n' +"已关注") }else if(response=="0"){ tips('已取消关注!') $("#follow_bt").html('<svg class="icon" style="width: 15px;height: 15px;margin-top:-3px;margin-right:5px;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1428"><path d="M1024 409.6H614.4V0H409.6v409.6H0v204.8h409.6v409.6h204.8V614.4h409.6z" fill="#ffffff" p-id="1429"></path></svg>\n' + "关注作者") }else if(response=="-2"){ tips("请先登录!") }else{ tips("关注失败!") } }); } function like(sid) { var myDate = new Date(); $.get("/blog/article/like?sid="+sid+"&stime="+myDate.getMilliseconds(),null,function(response){ if(response!="-1"){ $("#like_num").html(response+"赞") }else{ tips("关注失败!") } }); } </script> <div class="bottom-bar"> DevBox开发工具箱 | 专业的在线开发工具网站    <a target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802040832" style="color:#444;"><img src="https://img.json1.cn/3cd4a/21981/c5a/4df0b47476da9030.png"/>京公网安备 11010802040832号</a>  |  <a href="https://beian.miit.gov.cn/" target="_blank" >京ICP备19059560号-6</a> <BR /> Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有 <BR /> </div></body> </html>