欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python爬蟲抓取時(shí)常見(jiàn)的小問(wèn)題總結(jié)

 更新時(shí)間:2022年05月30日 11:37:14   作者:??Python編程學(xué)習(xí)圈????  
這篇文章主要介紹了python爬蟲抓取時(shí)常見(jiàn)的小問(wèn)題總結(jié),整理了部分新手在爬蟲過(guò)程中遇到的問(wèn)題,希望可以給大家提供一點(diǎn)問(wèn)題解決的思路和參考,需要的小伙伴可以參考下面文章內(nèi)容

前言:

現(xiàn)在寫爬蟲,入門已經(jīng)不是一件門檻很高的事情了,網(wǎng)上教程一大把,但很多爬蟲新手在爬取數(shù)據(jù)的過(guò)程中依舊會(huì)遇到這樣那樣的問(wèn)題。

今天整理了部分新手在爬蟲過(guò)程中遇到的問(wèn)題,希望可以給大家提供一點(diǎn)問(wèn)題解決的思路和參考。

01 無(wú)法正常顯示中文?

使用requests庫(kù)或者urllib庫(kù)獲取源代碼時(shí)無(wú)法正常顯示中文;

r = requests.get('http://xxx')print r.text

使用requests解析中文網(wǎng)頁(yè)時(shí),上述語(yǔ)句在ipython中一直打印的都是亂碼.......

試過(guò)如下代碼:

import sys  reload(sys)  sys.setdefaultencoding('utf8')  

還有類似:

r.text.decode('coding1').encoding('coding2')

都不能湊效!

解決方法

① requests庫(kù)的文本中有兩種類型

  • 一種是文本類型,使用text屬性,一種是針對(duì)音頻、視頻、圖片等二進(jìn)制數(shù)據(jù)類型,使用content屬性。
  • 一般返回的是text屬性時(shí)會(huì)出現(xiàn)中文亂碼現(xiàn)象,因此在輸出返回之前需要顯示的修改屬性encoding,將其賦值為“utf-8”或者是apparent_encoding即可。

② urllib庫(kù)的文本只有一種就是使用read()方法進(jìn)行讀取

因此要解決中文問(wèn)題,一定要在讀取后加入.decode(“utf-8”),進(jìn)行顯示的轉(zhuǎn)碼之后便不會(huì)出現(xiàn)亂碼問(wèn)題了。

02 加密問(wèn)題 

爬蟲一般怎么解決加密問(wèn)題?

① 對(duì)于網(wǎng)頁(yè)端來(lái)說(shuō)通常加密的算法是寫在 js 代碼里的,所以首先你要對(duì) js 語(yǔ)言有所了解。

至少知道 js 基礎(chǔ)的內(nèi)容,其次找到對(duì)應(yīng) js 加密代碼,然后找出關(guān)鍵的函數(shù)。

把 js 代碼在 node.js 環(huán)境進(jìn)行調(diào)試,最后在 Python 環(huán)境下利用 execjs 庫(kù)去執(zhí)行調(diào)試好的代碼。

② 就是模擬瀏覽器環(huán)境直接獲取渲染后的數(shù)據(jù),最常用的手段就是利用 Selenium 框架了。

這種方式非常便利,當(dāng)然對(duì)應(yīng)的缺點(diǎn)就是效率非常低下。不過(guò)現(xiàn)在有新的框架來(lái)取代 Selenium,即 Puppeteer,這個(gè)框架你可以看出是異步版的 Selenium。

對(duì)于爬蟲程序,一個(gè)萬(wàn)能公式:

爬蟲程序 = 網(wǎng)絡(luò)請(qǐng)求 + 數(shù)據(jù)解析 + 數(shù)據(jù)存儲(chǔ)

這三部分就對(duì)應(yīng)這爬蟲的基礎(chǔ),任何一個(gè)爬蟲程序都會(huì)保存這三部分的內(nèi)容,一些復(fù)雜的爬蟲無(wú)非是在此基礎(chǔ)上添加些別的內(nèi)容。一個(gè)爬蟲工程師反爬能力有多強(qiáng),他的爬蟲實(shí)力就有多高。

03 獲取不到網(wǎng)頁(yè)的全部代碼?

問(wèn)題:通過(guò)request方法獲取的網(wǎng)頁(yè)代碼與在瀏覽器看到的網(wǎng)頁(yè)源碼不一致;

解決方法:由于很多網(wǎng)頁(yè)的數(shù)據(jù)傳輸是通過(guò)js命令傳到網(wǎng)頁(yè)的,因此使用request()方法不能獲取通過(guò)js傳遞過(guò)來(lái)的信息代碼。此時(shí)通過(guò)使用selenium庫(kù)來(lái)模擬瀏覽器運(yùn)行,就像真正的用戶在操作一樣,可通過(guò)此方法可獲得該網(wǎng)頁(yè)的源碼。

from selenium.webdriver.support.wait import WebDriverWaitbrowser = webdriver.Chrome()browser.get(Url)html = browser.page_source

04 點(diǎn)擊下一頁(yè)時(shí)網(wǎng)頁(yè)網(wǎng)頁(yè)不變 

問(wèn)題:

在爬取的過(guò)程中,由于要爬取每個(gè)律師詳細(xì)信息所對(duì)應(yīng)的網(wǎng)址,因此涉及到翻頁(yè)的問(wèn)題,但在網(wǎng)頁(yè)上實(shí)時(shí)點(diǎn)擊下一頁(yè)時(shí)發(fā)現(xiàn)網(wǎng)址并沒(méi)有發(fā)生變化。

解決方法:

通過(guò)使用selenium中nextpagebutton.click()方法來(lái)模擬跳轉(zhuǎn)到下一頁(yè),從而對(duì)下一頁(yè)的內(nèi)容進(jìn)行獲取。

nextpagebutton = browser.find_element_by_xpath('//*[@class="next_page"]')  # 定位到“下一頁(yè)”按鈕    nextpagebutton.click()  # 模擬點(diǎn)擊下一頁(yè)    wait = WebDriverWait(browser, 10)  # 瀏覽器等待10s

05 文本節(jié)點(diǎn)問(wèn)題 

首先看兩個(gè)HTML代碼,這是你眼中的HTML代碼:

這是計(jì)算機(jī)眼中的HTML代碼:

解決方法:

在BS4中,我們?cè)贖TML中看到的換行符以及空格都是NavigableString 也就是文本節(jié)點(diǎn)。

06 如何快速找到提取數(shù)據(jù)?

解析網(wǎng)頁(yè)時(shí),如何快速找到數(shù)據(jù)存放的位置,并提取其中的數(shù)據(jù)?

這是很多新手會(huì)遇到的一個(gè)問(wèn)題;就是雖然運(yùn)行我的代碼沒(méi)有問(wèn)題,大概邏輯也能讀得懂,但是想修改一下爬取同類網(wǎng)站,或者同一個(gè)網(wǎng)站的其他數(shù)據(jù)時(shí)卻不知從何下手。

這個(gè)其實(shí)是對(duì)工具使用不熟悉而已;我這里簡(jiǎn)單講解一下(beautifulSoup)常用的使用技巧,當(dāng)然它有很多強(qiáng)大便捷的功能。我這里只介紹幾個(gè)常用的函數(shù),這幾個(gè)用好了一樣可以應(yīng)付幾乎所有網(wǎng)站。首先,爬取之前需要定位到數(shù)據(jù)所在的標(biāo)簽,這個(gè)使用 F12 開(kāi)發(fā)者工具中的這個(gè)按鈕,點(diǎn)一下按鈕,然后點(diǎn)一下網(wǎng)頁(yè),可以很快定位到頁(yè)面中的相應(yīng)標(biāo)簽。這步就不詳細(xì)說(shuō)了,很簡(jiǎn)單的,自己摸索一下。

接下來(lái)介紹如何用代碼獲取那個(gè)標(biāo)簽;

首先你觀察你要找到的標(biāo)簽,是什么標(biāo)簽?是否有 class 或者 id 這樣的屬性(如果沒(méi)有就找找它父標(biāo)簽有沒(méi)有,盡量找這樣的)因?yàn)?class 和 id 這兩個(gè)屬性作為篩選條件的話,查找到的干擾項(xiàng)極少,運(yùn)氣好的話,基本上可以一擊必中。

這里介紹 beautifulSoup 中的兩個(gè)函數(shù),find 和 find_all 函數(shù);

比如我們要獲取上圖中箭頭所指的,id 為 ozoom 的 div 標(biāo)簽時(shí),我們可以這樣:

# html 是之前發(fā)起請(qǐng)求獲取到的網(wǎng)頁(yè)內(nèi)容
bsobj = bs4.BeautifulSoup(html,'html.parser')
# 獲取 id 為 ozoom 的 div 標(biāo)簽
# 根據(jù) id 查找標(biāo)簽
div = bsobj.find('div', attrs = {'id' : 'ozoom'})
# 繼續(xù)獲取 div 下的 class 為 list_t 的 div 標(biāo)簽
# 根據(jù) class 查找標(biāo)簽
title = div.find('div', attrs = {'class': 'list_t'})

注意:

如果標(biāo)簽有 id 屬性的話盡量用 id 來(lái)查找,因?yàn)檎麄€(gè)頁(yè)面 id 是唯一的。用 class 查找的話,最好現(xiàn)在瀏覽器的網(wǎng)頁(yè)源碼中 Ctrl + F 搜索一下,相同 class 的標(biāo)簽有多少。(如果比較多的話,可以嘗試先查找他的父標(biāo)簽,縮小范圍之后再查找)然后我們?cè)僦v講 find_all 函數(shù),適用于一次性查找一類型的很多標(biāo)簽的情況,

比如下圖這種情況:

列表中的每一個(gè) li 標(biāo)簽中,都是一條數(shù)據(jù),我們需要將它們都獲取到,如果是用前面的 find 函數(shù)的話,每次只能獲取一個(gè) li 標(biāo)簽。

所以我們需要使用 find_all 函數(shù),一次性獲取所有符合條件的標(biāo)簽,存儲(chǔ)為數(shù)組返回。

由于 li 標(biāo)簽沒(méi)有 id 也沒(méi)有 class ,而頁(yè)面中存在很多無(wú)關(guān)的干擾的 li 標(biāo)簽,所以我們需要先從它的父標(biāo)簽往上找,縮小查找范圍。

找到 id 為 titleList 的 div 標(biāo)簽之后,觀察一下,里面的 li 標(biāo)簽都是需要的,直接 find_all 函數(shù)一下都獲取完。

# html 是獲取的目標(biāo)網(wǎng)頁(yè)內(nèi)容
html = fetchUrl(pageUrl)
bsobj = bs4.BeautifulSoup(html,'html.parser')
pDiv = bsobj.find('div', attrs = {'id': 'titleList'})
titleList = pDiv.find_all('li')

基本上把 find 和 find_all 函數(shù)組合使用,用熟練

了可以應(yīng)付幾乎所有的 html 網(wǎng)頁(yè)了。

07 獲取標(biāo)簽中的數(shù)據(jù)

查找到標(biāo)簽之后,又該如何獲取標(biāo)簽中的數(shù)據(jù)呢?

標(biāo)簽中的數(shù)據(jù)位置,一般有兩種情況:

<!--第一種,位于標(biāo)簽內(nèi)容里-->
    <p>這是數(shù)據(jù)這是數(shù)據(jù)</p>

<!--第二種,位于標(biāo)簽屬性里-->
    <a href="/xxx.xxx_xx_xx.html" rel="external nofollow" ></a>

如果是第一種情況很簡(jiǎn)單,直接 pTip.text 即可;(pTip 是前面已經(jīng)獲取好的 p 標(biāo)簽)

如果是第二種情況,需要看它是在哪一個(gè)屬性里的數(shù)據(jù),比如我們要獲取上面 a 標(biāo)簽中的 href 屬性中的鏈接,可以 link = aTip["href"] 即可。(aTip 是前面已經(jīng)獲取好的 a 標(biāo)簽)。

08 去除指定內(nèi)容

去除獲取內(nèi)容首尾的指定字符串;

問(wèn)題:

有時(shí)我們?cè)谂老x過(guò)程中,獲取到的信息并不是全部都是我們想要獲取的內(nèi)容,如果想要去除指定內(nèi)容。

例如:字符串 a = [“aaaa”],但是只想獲取中間的aaaa

解決:

可以通過(guò)使用正則表達(dá)式來(lái)提取文本內(nèi)容,去除符號(hào),但如果使用此方法,字符串中間包含的符號(hào)也會(huì)被去掉。如果確定想要獲取的文本中間不含有符號(hào),可以選用正則表達(dá)式。

x = strTemp.xpath('./div[3]/div[1]/div/div/div[1]/div/ul/li[14]//text()')        xx = str(x)        email = re.search(r'[\u4e00-\u9fa5a-zA-Z0-9]+', xx)

第二種方法是使用strip()方法來(lái)去除首尾的符號(hào);

a = td[1].get_text().strip('[""]')

09 轉(zhuǎn)化為字符串類型

通過(guò)正則表達(dá)式獲取的內(nèi)容是match類型,如何轉(zhuǎn)化為字符串str類型?

解決辦法:使用group(0)來(lái)轉(zhuǎn)化為字符串類型

email = email.group(0)

10 濫用遍歷文檔樹(shù)

常見(jiàn)的方法有:

  • contents
  • descendants
  • parent
  • next_sibling
  • next_element

這些方法都會(huì)遍歷文檔樹(shù)中的所有節(jié)點(diǎn),包括文本節(jié)點(diǎn)。也就是說(shuō)只要你使用這些方法,你就一定會(huì)選擇出許多文本節(jié)點(diǎn),因?yàn)槲谋竟?jié)點(diǎn)無(wú)處不在,換行、空格等。

解決方法:使用過(guò)濾器find等方法;

soup.find(name=‘tagname')

當(dāng)我們一旦在過(guò)濾器中指定了name關(guān)鍵字,那么返回的結(jié)果就一定是tag對(duì)象,因?yàn)槲臋n節(jié)點(diǎn)沒(méi)有name屬性。

結(jié)論:大多數(shù)情況下,你需要的是find 這一類過(guò)濾器,而不是遍歷所有節(jié)點(diǎn)。

11 數(shù)據(jù)庫(kù)保存問(wèn)題

在將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)的過(guò)程中,遇到的一些問(wèn)題如下:

1)爬取后的內(nèi)容是列表形式,如何轉(zhuǎn)化為字符串類型?

解決辦法:使用str()方法

b = strTemp.xpath('./div[3]/div[1]/div/div/div[1]/div/ul/li[3]//text()')        agee = str(b)

注意:數(shù)據(jù)庫(kù)中對(duì)對(duì)應(yīng)的字段類型要與python中一致;

2)python 與 mysql 數(shù)據(jù)庫(kù)連接

connection = pymysql.connect(host='localhost',
                                     user='root',
                                     password='zaizaizai',
                                     db='layer',
                                     charset='utf8mb4')
        try:
            # 獲取會(huì)話指針
            with connection.cursor() as cursor:
                # 創(chuàng)建SQL語(yǔ)句
                sql = "insert into layer(namee,organization,sex,age,nation,edu,leixing,zhengzhi,numberr,first_time,get_time,status,paizhu,sifaju,email) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) "
                # 執(zhí)行SQL語(yǔ)句

                cursor.execute(sql, (namee, organization, sex, age, nation, edu, leixing, zhengzhi, numberr, first_time, get_time, status, paizhu, sifaju, email))
                # 提交
                connection.commit()
        finally:
            connection.close()

3)保存在一個(gè)文件夾里的圖片不停的被后來(lái)抓取的圖片覆蓋掉?可能是變量放在for 循環(huán)內(nèi)外出現(xiàn)的問(wèn)題,修改后解決此問(wèn)題,用一些小例子做測(cè)試:

#測(cè)試一
x=0
for i in range(0,10):
      for j in range(0,10):
         print x 
         x+=1

for i in range(0,10):
      x=0
      for j in range(0,10):
         print x 
         x+=1
#測(cè)試二
>>> x=0
>>> for i in range(0,10):
      print('the i is',i)
      x=0
      for j in range(0,10):
         print('the j is',j)
         print('the x is',x)
         x+=1

>>> for i in range(0,10):
  print('the i is',i)
  x=0
  for j in range(0,10):
    print('the j is',j)
    print('the x is',x)
    x=x+1

12 爬蟲采集遇到的墻問(wèn)題

主要表現(xiàn)就是訪問(wèn)不了了、訪問(wèn)幾次就斷了,然后手動(dòng)訪問(wèn),或者換個(gè)終端以后完全沒(méi)問(wèn)題。?

面對(duì)這種情況,我們首先先想一下以下這幾個(gè)問(wèn)題:

  • 爬蟲是否過(guò)于頻繁訪問(wèn)?影響了對(duì)方服務(wù)器的業(yè)務(wù)?
  • 爬蟲采集是否觸犯了對(duì)方的防御機(jī)制?
  • 爬蟲是否有bug導(dǎo)致對(duì)方不堪重負(fù)?

以上這些主觀問(wèn)題是紅線問(wèn)題,是要考慮到的,自己要把握好爬蟲的分寸,不能損壞他人合法利益??偨Y(jié)了一下遇到一些被管理員和防火墻攔截的問(wèn)題和原因;

1)管理員不想讓你訪問(wèn),這種情況分兩種:

第一種:管理員登錄后臺(tái)一看,有個(gè)家伙10個(gè)小時(shí)就訪問(wèn)了我的1萬(wàn)次,不帶停的?。∪绻俏?,第一反應(yīng)就是封了再說(shuō),肯定有問(wèn)題,都不用分析。

第二種:我感覺(jué)有人在爬數(shù)據(jù),我要把他找出來(lái)。

2)網(wǎng)站配置不讓你訪問(wèn)這個(gè)主要是網(wǎng)站限制;比如tomcat或者Nginx,限制某個(gè)連接訪問(wèn)時(shí)間,因?yàn)槿绻@個(gè)連接一直在這里,然后不斷有新的連接進(jìn)來(lái),那么連接池遲早滿了,最終完蛋。

你這就是要DDOS攻擊我,所以我可以設(shè)置多長(zhǎng)時(shí)間你沒(méi)動(dòng)靜,我就給你斷了。

3)防火墻配置

這個(gè)就難了,因?yàn)榉阑饓艿暮芗?xì),如果是服務(wù)器WAF那就很頭疼,他在攔截DDOS的時(shí)候,就非常容易把爬蟲也攔截掉。如果要繞過(guò)WAF,那就是一種入侵行為了,要從頁(yè)面采集數(shù)據(jù)就只能欺騙WAF,繼續(xù)刷新數(shù)據(jù)頁(yè)面。

4)如何避開(kāi)以上策略,主要就是欺騙和偽裝。

逃避IP識(shí)別

通過(guò)采用或者構(gòu)建IP代理,變換IP地址,減少單IP對(duì)規(guī)則的觸發(fā),封禁惡意IP是網(wǎng)站管理過(guò)程中最常用的方式。

變換請(qǐng)求內(nèi)容

雖然你的IP變了,但還是這個(gè)瀏覽器、還是這個(gè)cookies記錄,也會(huì)被識(shí)別。這個(gè)可以通過(guò)變換cookies和header進(jìn)行偽裝。

降低訪問(wèn)頻率

一般如果單位時(shí)間內(nèi),訪問(wèn)網(wǎng)站的次數(shù)過(guò)高,很容易被判斷為是CC攻擊。并且會(huì)對(duì)服務(wù)器帶來(lái)很大的壓力,影響正常業(yè)務(wù)。這就背離了我們進(jìn)行數(shù)據(jù)采集的初衷了,所以設(shè)置一個(gè)sleep(),降低一下刷新頻率,減少一些對(duì)服務(wù)器資源的占用。

慢速攻擊判別

慢了也會(huì)被干掉的!?慢速攻擊是 http 慢速攻擊是利用http合法機(jī)制,在建立連接后盡量長(zhǎng)時(shí)間保持連接,不釋放,達(dá)到對(duì)HTTP服務(wù)攻擊。攻擊者發(fā)送POST請(qǐng)求,自行構(gòu)造報(bào)文向服務(wù)器提交數(shù)據(jù),將報(bào)文長(zhǎng)度設(shè)置一個(gè)很大的值。

且在隨后每次發(fā)送中,每次只發(fā)送一個(gè)很小的報(bào)文,這樣導(dǎo)致服務(wù)器一直等待數(shù)據(jù),連接始終一直被占用。如果攻擊者使用多線程或傀儡機(jī)子去做同樣操作,服務(wù)器WEB容器很快就被占滿TCP連接而不再接受新請(qǐng)求,從而導(dǎo)致服務(wù)器崩潰、服務(wù)失效。這個(gè)最好就是采用多線程異步采集,同時(shí)及時(shí)把之前的連接關(guān)閉,并且控制數(shù)量進(jìn)行。

總之,在采集數(shù)據(jù)的時(shí)候,多站在別人的角度上思考,采用別人能接受的方式獲取數(shù)據(jù),別人才能讓你好好的獲取數(shù)據(jù)。這是一個(gè)雙贏的行為,不然就只能從入門到入牢的轉(zhuǎn)變了,大家都不容易,互相給口飯吃。

13 驗(yàn)證碼問(wèn)題

驗(yàn)證碼的問(wèn)題一般如何解決?大體的思路有兩種:

  • 正向破解
  • 逆向破解

正向破解

比如常見(jiàn)的圖形驗(yàn)證碼,你可以首先把圖片保存下來(lái),然后利用一些圖文識(shí)別圖去識(shí)別相應(yīng)的內(nèi)容。對(duì)于滑塊驗(yàn)證碼,你可以利用 Selenium 框架去計(jì)算缺口的距離,然后模擬鼠標(biāo)拖動(dòng)滑塊。

逆向破解

這個(gè)就涉及到驗(yàn)證碼的實(shí)現(xiàn)邏輯,你需要看懂對(duì)方驗(yàn)證碼實(shí)現(xiàn)的邏輯??纯窗l(fā)送驗(yàn)證碼請(qǐng)求的時(shí)候需要哪些參數(shù),而這些參數(shù)又是怎么生成的,模擬請(qǐng)求。

逆向破解屬于短暫型的省力做法,但相應(yīng)的難度非常的大。-> 直接使用打碼平臺(tái)上面說(shuō)兩種方式都屬于非常耗時(shí)耗力的行為,而且一旦對(duì)方網(wǎng)站反爬策略更新,你的代碼就會(huì)失效。所以能花錢解決的事,大家就選擇直接使用打碼平臺(tái)就好。?

學(xué)會(huì)Python爬蟲需要具備三部分的內(nèi)容:

  • Python 基礎(chǔ)
  • 爬蟲基礎(chǔ)
  • 反爬的學(xué)習(xí)

這三部分內(nèi)容是做爬蟲的必備基礎(chǔ),主流語(yǔ)言是使用Python,Python有非常豐富的爬蟲庫(kù)可以直接使用,非常的方便。

到此這篇關(guān)于python爬蟲抓取時(shí)常見(jiàn)的小問(wèn)題總結(jié)的文章就介紹到這了,更多相關(guān)python問(wèn)題總結(jié)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)普通圖片轉(zhuǎn)ico圖標(biāo)的方法詳解

    Python實(shí)現(xiàn)普通圖片轉(zhuǎn)ico圖標(biāo)的方法詳解

    ICO是一種圖標(biāo)文件格式,圖標(biāo)文件可以存儲(chǔ)單個(gè)圖案、多尺寸、多色板的圖標(biāo)文件。本文將利用Python實(shí)現(xiàn)普通圖片轉(zhuǎn)ico圖標(biāo),感興趣的小伙伴可以了解一下
    2022-11-11
  • Python之Pygame的Event事件模塊

    Python之Pygame的Event事件模塊

    這篇文章主要介紹了Pygame的Event事件模塊,事件(Event)是 Pygame 的重要模塊之一,它是構(gòu)建整個(gè)游戲程序的核心,Pygame 定義了一個(gè)專門用來(lái)處理事件的結(jié)構(gòu),即事件隊(duì)列,本文有一定參考價(jià)值,感興趣的同學(xué)可以閱讀參考
    2023-04-04
  • Python+uiautomator2實(shí)現(xiàn)自動(dòng)刷抖音視頻功能

    Python+uiautomator2實(shí)現(xiàn)自動(dòng)刷抖音視頻功能

    這篇文章主要介紹了Python+uiautomator2實(shí)現(xiàn)自動(dòng)刷抖音視頻功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • Python上下文管理器Content Manager

    Python上下文管理器Content Manager

    在Python中,我們會(huì)經(jīng)常聽(tīng)到上下文管理器,那么上下文管理器到底是干什么的,本文就來(lái)介紹一下,感興趣的小伙伴們可以參考一下
    2021-06-06
  • python實(shí)現(xiàn)IOU計(jì)算案例

    python實(shí)現(xiàn)IOU計(jì)算案例

    這篇文章主要介紹了python實(shí)現(xiàn)IOU計(jì)算案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python使用參數(shù)對(duì)嵌套字典進(jìn)行取值的方法

    python使用參數(shù)對(duì)嵌套字典進(jìn)行取值的方法

    這篇文章主要介紹了python使用參數(shù)對(duì)嵌套字典進(jìn)行取值,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • 基于Python實(shí)現(xiàn)模擬三體運(yùn)動(dòng)的示例代碼

    基于Python實(shí)現(xiàn)模擬三體運(yùn)動(dòng)的示例代碼

    此前所做的一切三體和太陽(yáng)系的動(dòng)畫,都是基于牛頓力學(xué)的,而且直接對(duì)微分進(jìn)行差分化,從而精度非常感人,用不了幾年就得撞一起去。所以本文來(lái)用Python重新模擬一下三體運(yùn)動(dòng),感興趣的可以了解一下
    2023-03-03
  • Python全棧之字符串和列表相關(guān)操作

    Python全棧之字符串和列表相關(guān)操作

    這篇文章主要為大家介紹了Python字符串和列表相關(guān)操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python wav模塊獲取采樣率 采樣點(diǎn)聲道量化位數(shù)(實(shí)例代碼)

    python wav模塊獲取采樣率 采樣點(diǎn)聲道量化位數(shù)(實(shí)例代碼)

    這篇文章主要介紹了python wav模塊獲取采樣率 采樣點(diǎn)聲道量化位數(shù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • django 修改server端口號(hào)的方法

    django 修改server端口號(hào)的方法

    今天小編就為大家分享一篇django 修改server端口號(hào)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05

最新評(píng)論