一文搞懂各大APP!网站python网络爬虫!
1)爬取汽车之家数据,利用论坛发言的抓取以及NLP,对各种车型的车主做画像。
2 ) 抓取各大电商的评论及销量数据,对各种商品(颗粒度可到款式)沿时间序列的销量以及用户的消费场景进行分析。
Python资源共享群:626017123
3)还可以根据用户评价做情感分析,实时监控产品在消费者心目中的形象,对新发布的产品及时监控,以便调整策略。
4 ) 抓取房产买卖及租售信息,对热热闹闹的房价问题进行分析。
5 ) 抓取 大众点评、美团网等餐饮及消费类网站: 各种店面的开业情况以及用户消费和评价,了解周边变化的口味,所谓是“舌尖上的爬虫”。 以及各种变化的口味,比如:啤酒在衰退,重庆小面在崛起。
6 )58同城等分类信息网站 : 抓取招商加盟的数据,对定价进行分析,帮助网友解惑。
7 )拉勾网、中华英才网等招聘网站 : 抓取各类职位信息,分析最热门的职位以及薪水。
8 )挂号网等医疗信息网站 : 抓取医生信息并于宏观情况进行交叉对比。
9 )应用宝等App市场 : 对各个App的发展情况进行跟踪及预测。(顺便吹一下牛,我们这个榜单很早就发现小红书App的快速增长趋势以及在年轻人中的极佳口碑)
10 )携程、去哪儿及12306等交通出行类网站: 对航班及高铁等信息进行抓取,能从一个侧面反映经济是否正在走入下行通道。
11 )雪球等财经类网站 : 抓取雪球KOL或者高回报用户的行为,找出推荐股票
12 )58同城二手车、易车等汽车类网站 : 什么品牌或者型号的二手车残值高?更保值?反之,什么类型的贬值较快?- 二手车,找出最佳的买车时间以及最保值的汽车。
13 )神州租车、一嗨租车等租车类网站 : 抓取它们列举出来的租车信息,长期跟踪租车价格及数量等信息。
14 )各类信托网站 : 通过抓取信托的数据,了解信托项目的类型及规模。其实还有很多数据,不一一列举了。
上次的文章是在讨论移动端的数据获取: https://blog.csdn.net/livan1234/article/details/80850978
本文对爬虫做一个全面的总结,不一定包治百病,但是能治好大部分疾病,希望能够对大家有所帮助:
1、 urllib 库:这是一个在爬虫领域绕不开的库,他支持 http 的爬取,几乎可以取到方方面面的内容。
以下面的豆瓣案例做一个简要的解释:
豆瓣小案例:
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request import re
data = urllib.request.urlopen( "https://read.douban.com/provider/all" ).read()
data = data.decode( "utf-8" )
pattern = '<div>(.*?)</div>'
mydata = re.compile(pattern).findall(data)
fh = open ( " 出版社 .txt" , "w" )
for i in range ( 0 , len (mydata)):
fh.write(mydata[i]+ " \n " )
fh.close()
常用函数:
import urllib.request
# 一、常用函数 :
#1、 将第一个参数中的网址,直接下载到 filename 路径下,爬下来的数据为一个网页。
data = urllib.request.urlretrieve( "http://www.hellobi.com" ,
filename = "F:\python_workspace\spider_douban" )
#2\ 清除缓存 , 清除 urlretrieve 等下载时保存的数据
urllib.request.urlcleanup()
#3\ 爬取页面数据 file = urllib.request.urlopen( "http://www.hellobi.com" )
#4\ 返回当环境的信息 file.info()
#5\ 获取当前网页的状态码和网址。
print(file.getcode()) print(file.geturl())
print(file.getcode()) print(file.geturl())
2、超时设置:
由于网络速度或者对方服务器的问题,我们爬取一个网页的时候,都需要设置时间,我们访问一个网页,如果该网页长时间未响应,那么我们的系统就会判断该网页超时了,即无法打开该网页。
有时候,我们需要根据自己的需求,来设置超时的时间值,比如: 有些网站会反应快,我们希望2秒种没有反应则判断为超时,那么此时,timeout=2即为设置方式,即在 urlopen 中加入 timeout 参数。再比如,有些网站服务器反应慢,那么我们希望100秒没有反应,才判断超时,此时的timeout即设置为100,接下来为大家讲解爬虫超时的设置。
file = urllib.request.urlopen( "http://www.hellobi.com" , timeout = 10 )
for i in range ( 0 , 100 ):
try :
file =urllib.request.urlopen( "http://yum.iqianyue.com" , timeout = 1 )
data= file .read()
print ( len (data))
except Exception as e:
print ( "出现异常:" + str (e))
3、自动模拟 Http 请求:
客户端如果要与服务器端进行通信,需要通过http进行请求,http请求有很多种,我们在此会讲post与get两种请求方式,比如登录、搜索某些信息的时候会用到。
1)处理 get 请求:
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request keywd = "python"
# 对网址中出现的中文进行相应的编码 , 得到进行编码之后的中文,后面可以直接使用。 keywd=urllib.request.quote(keywd)
url = "http://www.baidu.com/s?wd" +keywd+ "&ie=urf-8&tn=96542061_hao_pg"
# 将 url 封装为一个请求 req = urllib.request.Request(url)
data = urllib.request.urlopen(req).read()
fh = open ( "test.txt" , "wb" )
fh.write(data) fh.close()
2)理 post 请求: 所谓post请求即为 HTML 的 form 中存在 method=“post”的标签,如下文:
<body>
<form action=””,method=”post”>
姓名: <input name=”name” type=”text”/><br>
密码: <input name=”pass” type=”text”/><br>
<input name=”” type=”submit” value=” 点击提交”>
</body>
在新浪 login.sina.com.cn 中即可看到,form 为 post 方式。 我们只需要 form 表单中的 name 属性即可。
如下图:
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request import urllib.parse url = "http://www.iqianyue.com/mypost/"
# 设置对应的表单信息 ,urlencode 中针对代码中的 name 值。
mydata = urllib.parse.urlencode({
"name" : "ceo@iqianyue.com" "pass" : "123456" }).encode( "utf-8" )
# 将数据转换为请求 req = urllib.request.Request(url , mydata)
# 发送请求 data = urllib.request.urlopen(req).read()
fh = open ( "test_post.txt" , "wb" )
fh.write(data) fh.close()
4、爬虫的异常处理:
爬虫在运行的过程中,很多时候都会遇到这样或那样的异常。 如果没有异常处理,爬虫遇到异常时就会直接崩溃停止运行,下次再次运行时,又会重头开始,所以,要开发一个具有顽强生命力的爬虫,必须要进行异常处理。
异常处理主要是为了增强代码的稳定性。
两者都是异常处理的类,HTTPError是URLError的子类,HTTPError有异常状态码与异常原因,URLError没有异常状态码,所以,在处理的时候,不能使用URLError直接替代HTTPError。如果要替代,必须要判断是否有状态码属性。
接下来我们通过实战讲解:
urlError:
1 、连不上服务器 2 、远程的url 不存在
3 、本地没有网络
4 、触发了对应的 httpError 子类
具体的实战为:
#!/usr/bin/env python # _*_ UTF-8_*_
import urllib.error import urllib.request
try :
urllib.request.urlopen( "http://blog.csdssn.net" )
print ( "111" )
except urllib.error.URLError as e:
if hasattr (e , "code" ):
print (e.code)
if hasattr (e , "reason" ):
print (e.reason)
5、爬虫的伪装技术:
浏览器伪装技术原理:
我们可以试试爬取csdn博客,我们发现会返回403,因为对方服务器会对爬虫进行屏蔽。 此时我们需要伪装成浏览器才能爬取。
浏览器伪装我们一般通过报头进行,接下来我们通过实战分析一下。
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.error import urllib.request
url= "http://blog.csdn.net/weiwei_pig/article/details/52123738"
header = ( "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" )
# 用来添加报头信息 opener = urllib.request.build_opener()
opener.addheaders=[header]
data = opener.open(url).read()
fh = open ( "test_header" , "wb" )
fh.write(data) fh.close()
6、新闻网站爬取:
需求: 将新浪新闻首页(http://news.sina.com.cn/)所有新闻都爬到本地。
思路: 先爬首页,通过正则获取所有新闻链接,然后依次爬各新闻,并存储到本地。
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request import re
data = urllib.request.urlopen( "http://news.sina.com.cn/" ).read()
data2 = data.decode( "utf-8" , "ignore" ) pat = 'href="(http://news.sina.com.cn/.*?)">' allurl = re.compile(pat).findall(data2)
for i in range ( 0 , len (allurl)):
try :
print ( " 第 " + str (i)+ " 次爬取 " )thisurl = allurl[i] file =str (i)+ ".html" urllib.request.urlretrieve(thisurl , file)
print ( "------ 成功 -------" )
except urllib.request.URLError as e:
if hasattr (e , "code" ):
print (e.code) if hasattr (e , "reason" ):
print (e.reason)
7、爬虫防屏蔽手段之代理服务器:
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request import re
url = "http://blog.csdn.net/"
headers = ( "User-Agent" , "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" )
# 建一个浏览器 opener
opener = urllib.request.build_opener()
# 将头加入到 opener 中 opener.addheaders=[headers]
# 将 opener 安装为全局 urllib.request.install_opener(opener)
data = urllib.request.urlopen(url).read().decode( "utf-8" , "ignore" )
pat = '<h3 data-mod="popu_430" data- poputype="feed" data-feed-show="false" data-dsm="post"><a
href="(.*?)"'
result =re.compile(pat).findall(data)
for i in range ( 0 , len (result)):
file = str (i)+ ".html" urllib.request.urlretrieve(result[i] , filename =file) print ( "第" + str(i)+ "次爬取成功" )
#由此可以将 CSDN 首页所有的文章爬取下来。
如何做代理:
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request
def use_proxy (url , proxy_addr): proxy = urllib.request.ProxyHandler({ "http" : proxy_addr})
opener = urllib.request.build_opener(proxy ,
urllib.request.HTTPHandler)urllib.request.install_opener(opener) data = urllib.request.urlopen(url).read().decode("utf-8" , "ignore" )
return data
proxy_addr = []
"110.73.43.18:8123"
url = "http://www.baidu.com" data = use_proxy(url , proxy_addr)
print ( len (data))
8、图片爬虫实战: 在浏览器爬取时,有时不同的浏览器会有不同的查询结果,解析出不同的源码。
首先在“审查元素”中确定元素的重点字段是哪些,然后再在“源码”中查找对应的图片位置,确定图片 url 的规则。
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request
import re
keyname = " 短裙 " key = urllib.request.quote(keyname)
headers = ( "User_Agent" , "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0" )opener = urllib.request.build_opener() opener.addheaders=[headers]
urllib.request.install_opener(opener)
for i in range ( 0 , 10 ):
url = "https://s.taobao.com/search?q=" +key+ "&imgfile=&commend=all&ssid=s5- e&search_type=item&sourceId=tb.index&spm=a21bo.2017.201856-taobao- item.1&ie=utf8&initiative_id=tbindexz_20170306&bcoffset=4&ntoffset=4&p4 ppushleft=1%2C48&s=" + str (i* 44 )
data = urllib.request.urlopen(url).read().decode( "utf-8" , "ignore" )
pat = 'pic_url":"//(.*?)"' imagelist = re.compile(pat).findall(data) for j in range ( 0 , len (imagelist)):
t hisimg = imagelist[j]
thisimgurl = "http://" +thisimg file = "F:/python_workspace/test/pic/" + str (i)+ str (j)+ ".jpg"
urllib.request.urlretrieve(thisimgurl , filename =file)
在源码解决不了的情况下,需要进行抓包。 作业:千图网的爬取(可以通过调试找到报错原因):
#!/usr/bin/env python
# _*_ UTF-8 _*_
import urllib.request import re
for i in range ( 1 , 10 ): pageurl = "http://www.58pic.com/piccate/3-153-652-" + str (i)+ ".html"
data = urllib.request.urlopen(pageurl).read().decode( "utf-8" ,
"ignore" ) pat = '<a.*?src="(.*?).jpg!"'
imglist = re.compile(pat).findall(data) for j in range ( 0 , len (imglist)):
try :thisimg = imglist[j] thisimgurl = thisimg+"_1024.jpg" file = "F:/python_workspace/test/pic2/" + str (i)+ str (j)+ ".jpg"
urllib.request.urlretrieve(thisimgurl , filename =file)
print ( " 第 " + str (i)+ " 页第 " + str (j)+ " 个图片爬取成功 " )
except urllib.error. URLError as e:
if hasattr (e , "code" ):
print (e.code) if hasattr (e , "reason" ):
print (e.reason)
except Exception as e:
print (e)
9、抓包分析实战(一)
获取淘宝的评论信息、腾讯的娱乐新闻信息等需要抓包分析。 如何抓取 https 的数据包以及腾讯视频的评论。
TextView:显示返回的信息; 通过 fiddler 找到含有评论的网址,复制出对应的网址,观察网址的规则。
设置完 fiddler 之后,点击要爬取的页面,回到 fiddler 中,确定有 js 内容的链接:
对应的网址为:
https://rate.tmall.com/list_detail_rate.htm?itemId=42679128869&spuId=315119437&sellerId=2166475645&order=3¤tPage=1&append=0&content=1&tagId=&posi=&picture=&ua=098%23E1hv%2FpvEvbQvUvCkvvvvvjiPP2Lw0jEbPL59AjnEPmPZQj1Pn2L9QjEvR2MwljE8vphvC9vhvvCvpvyCvhQvryGvCzox9WFIRfU6pwet9E7rejZIYExr1EuK46en3OkQrEttpR2y%2BnezrmphQRAn3feAOHPIAXcBKFyK2ixrlj7xD7QHYWsUtE97Kphv8vvvvvCvpvvvvvmCc6Cv2UIvvUnvphvpgvvv96CvpCCvvvmCXZCvhhmEvpvV2vvC9jx2uphvmvvv98GEKUM72QhvCvvvMMGtvpvhvvvvv8wCvvpvvUmm3QhvCvvhvvv%3D&isg=AoKCecM7b7NouHNtRCUm6rar0osk--IFkGgfUsyboPWxHyKZtOPWfQjduSCd&needFold=0&_ksTS=1508769919830_1070&callback=jsonp1071
然后确定其中的 itemId 等字段的内容,其中的部分内容未必有用处,可以直接删除,比如 上面 url的 ua 字段。
如果要抓取 https 的数据:
Fiddler 默认只能抓取 HTTP 协议的网页,不能抓取 HTTPS 协议的网页,而我们很多时候,都需要抓 HTTPS 协议的网页,比如抓淘宝数据等。 今天,韦玮老师会为大家讲解如何使用 Fiddler 抓取 HTTPS 协议的网页。
打开 Fiddler,点击“Tools--FiddlerOptions--HTTPS”,把下方的全部勾上,如下图所示:
然后,点击 Action,选择将CA 证书导入到桌面,即第二项,导出后,点击上图的 ok 保存配置。
然后在桌面上就有了导出的证书,如下所示:
随后,我们可以在浏览器中导入该证书。 我们打开火狐浏览器,打开“选项--高级--证书- -导入”,选择桌面上的证书,导入即可。 随后,Fiddler 就可以抓 HTTPS 协议的网页 了。 如下图所示。
抓取腾讯视频的评论: 下图为带评论的 js 文件(从 fiddler 中获取):
其中有多个字段,commentid 等,在点击“加载更多”时,commentID 会发生变化,在第一个url 的源码中会找到下一个评论 url 的地址,找到 last 字段,即为下一个 url 的commentid, 以此来构造下一个 url。
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request import re import urllib.error
headers = ( "User_Agent" , "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0" )
opener = urllib.request.build_opener()
opener.addheaders = [headers]
urllib.request.install_opener(opener)
comid = "6323280825454961655"
url = "http://coral.qq.com/article/2102904258/comment?commentid=" +comid+ "&req num=20&tag=&callback=jQuery1124020025941284059412_1508770934137&_=15087 70934145" for i in range ( 0 , 100 ):
data = urllib.request.urlopen(url).read().decode()
patnext = '"last":"(.*?)"' nextid = re.compile(patnext).findall(data)[ 0 ]
patcom = '"content":"(.*?)",'
comdata = re.compile(patcom).findall(data)
for j in range ( 0 , len (comdata)):
print ( "------ 第 " + str (i)+ str (j)+ " 条评论内容是 : " )
print ( eval ( 'u"' +comdata[j]+ '"' ))
url =
"http://coral.qq.com/article/2102904258/comment?commentid=" +nextid+ "&re qnum=20&tag=&callback=jQuery1124020025941284059412_1508770934137&_=1508 770934145"
10、微信爬虫实战:
如何解决微信的限制?
#!/usr/bin/env python # _*_ UTF-8 _*_
#http://weixin.sogou.com/
import re import urllib.request import time import urllib.error
# 自定义函数,功能为使用代理服务器爬一个网址
def use_proxy (proxy_addr , url): # 建立异常处理机制 try :
req = urllib.request.Request(url)
req.add_header( "User_Agent" , "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0" )
proxy = urllib.request.ProxyHandler({ 'http' :proxy_addr})
opener = urllib.request.build_opener(proxy , urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
data = urllib.request.urlopen(req).read()
return data
except urllib.error.URLError as e:
if hasattr (e , "code" ):
print (e.code) if hasattr (e , "reason" ):
print (e.reason)
# 若为 URLError 异常,延时 10 秒执行 time.sleep( 10 )
except Exception as e:
print ( "exception:" + str (e))
time.sleep( 1 )
# 设置关键词 key = "Python" # 设置代理服务器,该代理服务器有可能失效,读者需要换成新的有效代理服务器 # 即通过 fiddler 中转爬取。 proxy = "127.0.0.1:8888" # 爬多少页 : for i in range ( 0 , 10 ):
key = urllib.request.quote(key)
thispageurl = "http://weixin.sogou.com/weixin?type=2&query=" +key+ "&page" + str (i)
#a="http://blog.csdn.net"
thispagedata = use_proxy(proxy , thispageurl)
print ( len ( str (thispagedata))) pat1 = '<a href="(.*?)"' rs1 = re.compile(pat1 , re.S).findall( str (thispagedata))
if ( len (rs1)== 0 ):
print ( " 此次 ( " + str (i)+ " 页 )没有成功 " )
continue for j in range ( 0 , len (rs1)):
thisurl = rs1[j]
# 提取到的网址与通过浏览器实际跳转的页面网址不完全一致,通过比 # 较观察发 现,爬取的页面中有 amp 字段为多余。
thisurl = thisurl.replace( "amp;" , "" )
file = "F:/python_workspace/test/wechat/ 第 " + str (i)+ " 页第 " + str (j)+ " 篇文章 .html"
thisdata = use_proxy(proxy , thisurl)
try :
fh = open (file , "wb" )fh.write(thisdata) fh.close()print ( " 第 " + str (i)+ " 页第 " + str (j)+ " 篇文章成功 " )
except Exception as e:
print (e)
print ( " 第 " + str (i)+ " 页第 " + str (j)+ " 篇文章失败 " )
微信爬虫的爬取依然是使用浏览器,即在搜狗浏览器上使用微信网页版,然后编辑这个页面的 url,以获取内容。
11、多线程爬取实战 糗事百科的代码:
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request import re import urllib.error
headers = ( "User_Agent" , "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0" )opener = urllib.request.build_opener() opener.addheaders=[headers]
urllib.request.install_opener(opener)
for i in range ( 1 , 2 ): url = "https://www.qiushibaike.com/8hr/page/" + str (i)
pagedata=urllib.request.urlopen(url).read().decode( "utf-8" , "ignore" ) pat= '<div>.*?<span>(.*?)</span>.*?</div>' datalist = re.compile(pat , re.S).findall(pagedata) for j in range ( 0 , len (datalist)):
print ( " 第 " + str (i)+ " 页第 " + str (j)+ " 个段子的内容是 : " )
print (datalist[j])
将此程序改为多进程为:
#!/usr/bin/env python # _*_ UTF-8 _*_
import urllib.request import re import urllib.error import threading
headers = ( "User_Agent" , "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0" )opener = urllib.request.build_opener() opener.addheaders=[headers]
urllib.request.install_opener(opener)
class One (threading.Thread):
def __init__ ( self ):
threading.Thread. __init__ ( self )
def run ( self ):
for i in range ( 1 , 36 , 2 ):
url = "https://www.qiushibaike.com/8hr/page/" + str (i)
pagedata=urllib.request.urlopen(url).read().decode( "utf- 8" , "ignore" )
pat= '<div>.*?<span>(.*?)</span>.*?</div>'
datalist = re.compile(pat , re.S).findall(pagedata) for j in range ( 0 , len (datalist)):
print ( " 第 " + str (i)+ " 页第 " + str (j)+ " 个段子的内容是 : " ). print (datalist[j])
class Two (threading.Thread):
def __init__ ( self ):
threading.Thread. __init__ ( self )
def run ( self ): for i in range ( 0 , 36 , 2 ):
url = "https://www.qiushibaike.com/8hr/page/" + str (i)
pagedata=urllib.request.urlopen(url).read().decode( "utf- 8" , "ignore" )
pat= '<div>.*?<span>(.*?)</span>.*?</div>'
datalist = re.compile(pat , re.S).findall(pagedata) for j in range ( 0 , len (datalist)):
one = One()
one.start()
two = Two()
two.start()
一文搞懂各大APP!网站python网络爬虫!相关推荐
- 一文搞懂各大APP网站python网络爬虫
本文转载自数据EDTA,相亲可以扫描下方二维码: 很久以前写了一篇爬虫的文章,把它放在CSDN上(livan1234)没想到点击量竟然暴涨,足以看到大家在数据获取方面的需求,爬虫技术现在已经非常普遍, ...
- 带你一文搞懂VMware Workstation的三种网络模式
前言: 其实VMware Workstation的三种网络模式我学的不止一遍,但每次学习自己理解的都是朦胧的概念,说自己学会了吧,一些实质性的概念转头就忘记,一点也想不起来.说自己不会吧,但是每次学习 ...
- 一文搞懂什么是 PostCSS
一文搞懂什么是 PostCSS 在 Web 应用开发中,CSS 代码的编写是重要的一部分.CSS 规范从最初的 CSS1 到现在的 CSS3,再到 CSS 规范的下一步版本,规范本身一直在不断的发展演 ...
- 一文搞懂AWS EC2, IGW, RT, NAT, SG 基础篇下
B站实操视频更新 跟着拉面学习AWS--EC2, IGW, RT, NAT, SG 简介 长文多图预警,看结论可以直接拖到"总结"部分 本文承接上一篇文章介绍以下 AWS 基础概念 ...
- 一文搞懂Qt中的颜色渐变(QGradient Class)
一文搞懂Qt中的颜色渐变(QGradient Class) 1, 快速开始! Qt中与颜色渐变有关的类是QGradient 其中它又有三个子类:QLinearGradient.QRadialGradi ...
- 网络知识扫盲,一文搞懂 DNS
在找工作面试的过程中,面试官非常喜欢考察基础知识,除了数据结构与算法之外,网络知识也是一个非常重要的考察对象. 而网络知识,通常是很抽象,不容易理解的,有很多同学就在这里裁了跟头.为了更好地通过面试, ...
- 一文搞懂MySQL数据库分库分表
如果数据量过大,大家一般会分库分表.分库需要注意的内容比较少,但分表需要注意的内容就多了. 工作这几年没遇过数据量特别大的业务,那些过亿的数据,因为索引设置合理,单表性能没有影响,所以实战中一直没用过 ...
- 一文搞懂RNN(循环神经网络)
基础篇|一文搞懂RNN(循环神经网络) https://mp.weixin.qq.com/s/va1gmavl2ZESgnM7biORQg 神经网络基础 神经网络可以当做是能够拟合任意函数的黑盒子,只 ...
- 一文搞懂HMM(隐马尔可夫模型)-Viterbi algorithm
***一文搞懂HMM(隐马尔可夫模型)*** 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序, ...
最新文章
- 基于cookie的SSO单点登录系统
- Apache ZooKeeper - 使用原生的API操作ZK_ACL权限
- python文件读read()、readline()、readlines()对比
- Java Socket实现客户端服务端之间的通信
- linux jdk1.7 tomcat
- 函数节流-避免重复提交
- 如何绕过mac地址过滤_上传图片shell绕过过滤的几种方法
- linux上的c语言开发环境搭建,c语言开发环境(c语言开发环境搭建)
- html5实现在线动态画板,HTML5 canvas实现一个简易画板
- Leetcode no. 347
- IBM服务器代理商创业之路①
- 智源AI日报(2022-08-30): 华为谢凌曦:关于视觉识别领域发展的个人观点
- C++:有限差分法求解随时间变化 平流方程 ut = - c * ux 在一个空间维度上,与 恒定速度,使用Lax方法作为时间导数(附完整源码)
- 内核I2C子系统详解
- break在c语言中的应用,c语言中break的用法
- 雷达干扰样式仿真matlab仿真
- XSSFWorkbook 设置单元格样式_欺骗你眼睛的立体单元格~~
- 【知识点】多光谱与高光谱的区别
- 盛科推出新一代超融合网络交换机E550系列
- 知乎上一句话几万赞的神回复