0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

python爬蟲框架Scrapy實(shí)戰(zhàn)案例!

馬哥Linux運(yùn)維 ? 來源:lq ? 2018-12-07 16:12 ? 次閱讀

我們使用dmoz.org這個網(wǎng)站來作為小抓抓一展身手的對象。

首先先要回答一個問題。

問:把網(wǎng)站裝進(jìn)爬蟲里,總共分幾步?

答案很簡單,四步:

新建項目 (Project):新建一個新的爬蟲項目

明確目標(biāo)(Items):明確你想要抓取的目標(biāo)

制作爬蟲(Spider):制作爬蟲開始爬取網(wǎng)頁

存儲內(nèi)容(Pipeline):設(shè)計管道存儲爬取內(nèi)容

好的,基本流程既然確定了,那接下來就一步一步的完成就可以了。

1.新建項目(Project)

在空目錄下按住Shift鍵右擊,選擇“在此處打開命令窗口”,輸入一下命令:

其中,tutorial為項目名稱。

可以看到將會創(chuàng)建一個tutorial文件夾,目錄結(jié)構(gòu)如下:

下面來簡單介紹一下各個文件的作用:

scrapy.cfg:項目的配置文件

tutorial/:項目的Python模塊,將會從這里引用代碼

tutorial/items.py:項目的items文件

tutorial/pipelines.py:項目的pipelines文件

tutorial/settings.py:項目的設(shè)置文件

tutorial/spiders/:存儲爬蟲的目錄

2.明確目標(biāo)(Item)

在Scrapy中,items是用來加載抓取內(nèi)容的容器,有點(diǎn)像Python中的Dic,也就是字典,但是提供了一些額外的保護(hù)減少錯誤。

一般來說,item可以用scrapy.item.Item類來創(chuàng)建,并且用scrapy.item.Field對象來定義屬性(可以理解成類似于ORM的映射關(guān)系)。

接下來,我們開始來構(gòu)建item模型(model)。

首先,我們想要的內(nèi)容有:

名稱(name)

鏈接(url)

描述(description)

修改tutorial目錄下的items.py文件,在原本的class后面添加我們自己的class。

因?yàn)橐moz.org網(wǎng)站的內(nèi)容,所以我們可以將其命名為DmozItem:

剛開始看起來可能會有些看不懂,但是定義這些item能讓你用其他組件的時候知道你的 items到底是什么。

可以把Item簡單的理解成封裝好的類對象。

3.制作爬蟲(Spider)

制作爬蟲,總體分兩步:先爬再取。

也就是說,首先你要獲取整個網(wǎng)頁的所有內(nèi)容,然后再取出其中對你有用的部分。

3.1爬

Spider是用戶自己編寫的類,用來從一個域(或域組)中抓取信息。

他們定義了用于下載的URL列表、跟蹤鏈接的方案、解析網(wǎng)頁內(nèi)容的方式,以此來提取items。

要建立一個Spider,你必須用scrapy.spider.BaseSpider創(chuàng)建一個子類,并確定三個強(qiáng)制的屬性:

name:爬蟲的識別名稱,必須是唯一的,在不同的爬蟲中你必須定義不同的名字。

start_urls:爬取的URL列表。爬蟲從這里開始抓取數(shù)據(jù),所以,第一次下載的數(shù)據(jù)將會從這些urls開始。其他子URL將會從這些起始URL中繼承性生成。

parse():解析的方法,調(diào)用的時候傳入從每一個URL傳回的Response對象作為唯一參數(shù),負(fù)責(zé)解析并匹配抓取的數(shù)據(jù)(解析為item),跟蹤更多的URL。

這里可以參考寬度爬蟲教程中提及的思想來幫助理解,教程傳送:[Java] 知乎下巴第5集:使用HttpClient工具包和寬度爬蟲。

也就是把Url存儲下來并依此為起點(diǎn)逐步擴(kuò)散開去,抓取所有符合條件的網(wǎng)頁Url存儲起來繼續(xù)爬取。

下面我們來寫第一只爬蟲,命名為dmoz_spider.py,保存在tutorial\spiders目錄下。

dmoz_spider.py代碼如下:

allow_domains是搜索的域名范圍,也就是爬蟲的約束區(qū)域,規(guī)定爬蟲只爬取這個域名下的網(wǎng)頁。

從parse函數(shù)可以看出,將鏈接的最后兩個地址取出作為文件名進(jìn)行存儲。

然后運(yùn)行一下看看,在tutorial目錄下按住shift右擊,在此處打開命令窗口,輸入:

運(yùn)行結(jié)果如圖:

報錯了:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 1: ordinalnot in range(128)

運(yùn)行第一個Scrapy項目就報錯,真是命運(yùn)多舛。

應(yīng)該是出了編碼問題,谷歌了一下找到了解決方案:

在python的Lib\site-packages文件夾下新建一個sitecustomize.py:

再次運(yùn)行,OK,問題解決了,看一下結(jié)果:

最后一句INFO: Closing spider (finished)表明爬蟲已經(jīng)成功運(yùn)行并且自行關(guān)閉了。

包含 [dmoz]的行 ,那對應(yīng)著我們的爬蟲運(yùn)行的結(jié)果。

可以看到start_urls中定義的每個URL都有日志行。

還記得我們的start_urls嗎?

http://www.dmoz.org/Computers/Programming/Languages/Python/Bookshttp://www.dmoz.org/Computers/Programming/Languages/Python/Resources

因?yàn)檫@些URL是起始頁面,所以他們沒有引用(referrers),所以在它們的每行末尾你會看到 (referer: )。

在parse 方法的作用下,兩個文件被創(chuàng)建:分別是 Books 和 Resources,這兩個文件中有URL的頁面內(nèi)容。

那么在剛剛的電閃雷鳴之中到底發(fā)生了什么呢?

首先,Scrapy為爬蟲的 start_urls屬性中的每個URL創(chuàng)建了一個 scrapy.http.Request 對象 ,并將爬蟲的parse 方法指定為回調(diào)函數(shù)。

然后,這些 Request被調(diào)度并執(zhí)行,之后通過parse()方法返回scrapy.http.Response對象,并反饋給爬蟲。

3.2取

爬取整個網(wǎng)頁完畢,接下來的就是的取過程了。

光存儲一整個網(wǎng)頁還是不夠用的。

在基礎(chǔ)的爬蟲里,這一步可以用正則表達(dá)式來抓。

在Scrapy里,使用一種叫做 XPath selectors的機(jī)制,它基于 XPath表達(dá)式。

如果你想了解更多selectors和其他機(jī)制你可以查閱相關(guān)資料。

這是一些XPath表達(dá)式的例子和他們的含義

/html/head/title: 選擇HTML文檔元素下面的 <a target="_blank"><u>標(biāo)簽</u></a>。</p> <p style="text-indent: 2em;"> /html/head/title/text(): 選擇前面提到的<title> 元素下面的文本內(nèi)容</p> <p style="text-indent: 2em;"> //td: 選擇所有 <td> 元素</p> <p style="text-indent: 2em;"> //div[@class="mine"]: 選擇所有包含 class="mine" 屬性的div 標(biāo)簽元素</p> <p style="text-indent: 2em;"> 以上只是幾個使用XPath的簡單例子,但是實(shí)際上XPath非常強(qiáng)大。</p> <p style="text-indent: 2em;"> 為了方便使用XPaths,Scrapy提供XPathSelector 類,有兩種可以選擇,HtmlXPathSelector(HTML數(shù)據(jù)解析)和XmlXPathSelector(XML數(shù)據(jù)解析)。</p> <p style="text-indent: 2em;"> 必須通過一個 Response 對象對他們進(jìn)行實(shí)例化操作。</p> <p style="text-indent: 2em;"> 你會發(fā)現(xiàn)Selector對象展示了文檔的節(jié)點(diǎn)結(jié)構(gòu)。因此,第一個實(shí)例化的selector必與根節(jié)點(diǎn)或者是整個目錄有關(guān) 。</p> <p style="text-indent: 2em;"> 在Scrapy里面,Selectors 有四種基礎(chǔ)的方法(點(diǎn)擊查看API文檔):</p> <p style="text-indent: 2em;"> xpath():返回一系列的selectors,每一個select表示一個xpath參數(shù)表達(dá)式選擇的節(jié)點(diǎn)</p> <p style="text-indent: 2em;"> css():返回一系列的selectors,每一個select表示一個css參數(shù)表達(dá)式選擇的節(jié)點(diǎn)</p> <p style="text-indent: 2em;"> extr<a target="_blank"><u>ac</u></a>t():返回一個unicode字符串,為選中的數(shù)據(jù)</p> <p style="text-indent: 2em;"> re():返回一串一個unicode字符串,為使用正則表達(dá)式抓取出來的內(nèi)容</p> <p style="text-indent: 2em;"> 3.3xpath實(shí)驗(yàn)</p> <p style="text-indent: 2em;"> 下面我們在Shell里面嘗試一下Selector的用法。</p> <p style="text-indent: 2em;"> 實(shí)驗(yàn)的網(wǎng)址:http://www.dmoz.org/Computers/Programming/Languages/Python/Books/</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3OAMag2AAB7_dZ30Cg048.png" /></p> <p style="text-indent: 2em;"> 熟悉完了實(shí)驗(yàn)的小白鼠,接下來就是用Shell爬取網(wǎng)頁了。</p> <p style="text-indent: 2em;"> 進(jìn)入到項目的頂層目錄,也就是第一層tutorial文件夾下,在cmd中輸入:</p> <p style="text-indent: 2em;"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3OAUgvEAAAvjyHSf78514.png" /></p> <p style="text-indent: 2em;"> 回車后可以看到如下的內(nèi)容:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3SATik7AAHbS5Z2YkQ587.png" /></p> <p style="text-indent: 2em;"> 在Shell載入后,你將獲得response回應(yīng),存儲在本地變量 response中。</p> <p style="text-indent: 2em;"> 所以如果你輸入response.body,你將會看到response的body部分,也就是抓取到的頁面內(nèi)容:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3aAFYdPAALND72cYfk023.png" /></p> <p style="text-indent: 2em;"> 或者輸入response.headers 來查看它的 header部分:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3mAe8tVAALBJa2ARnE086.png" /></p> <p style="text-indent: 2em;"> 現(xiàn)在就像是一大堆沙子握在手里,里面藏著我們想要的金子,所以下一步,就是用篩子搖兩下,把雜質(zhì)出去,選出關(guān)鍵的內(nèi)容。</p> <p style="text-indent: 2em;"> selector就是這樣一個篩子。</p> <p style="text-indent: 2em;"> 在舊的版本中,Shell實(shí)例化兩種selectors,一個是解析HTML的 hxs 變量,一個是解析XML 的 xxs 變量。</p> <p style="text-indent: 2em;"> 而現(xiàn)在的Shell為我們準(zhǔn)備好的selector對象,sel,可以根據(jù)返回的數(shù)據(jù)類型自動選擇最佳的解析方案(XML or HTML)。</p> <p style="text-indent: 2em;"> 然后我們來搗弄一下!~</p> <p style="text-indent: 2em;"> 要徹底搞清楚這個問題,首先先要知道,抓到的頁面到底是個什么樣子。</p> <p style="text-indent: 2em;"> 比如,我們要抓取網(wǎng)頁的標(biāo)題,也就是<title>這個標(biāo)簽:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3mAYZubAAAMzxt2yJ4194.png" /></p> <p style="text-indent: 2em;"> 可以輸入:</p> <p style="text-indent: 2em;"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3mAdRyfAAAHpvVtoOo344.png" /></p> <p style="text-indent: 2em;"> 結(jié)果就是:</p> <p style="text-indent: 2em;"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3qAQejMAAAvPB0_p9g042.png" /></p> <p style="text-indent: 2em;"> 這樣就能把這個標(biāo)簽取出來了,用extract()和text()還可以進(jìn)一步做處理。</p> <p style="text-indent: 2em;"> 備注:簡單的羅列一下有用的xpath路徑表達(dá)式:</p> <p style="text-indent: 2em;"> 表達(dá)式</p> <p style="text-indent: 2em;"> 描述</p> <p style="text-indent: 2em;"> nodename 選取此節(jié)點(diǎn)的所有子節(jié)點(diǎn)。 </p> <p style="text-indent: 2em;"> / 從根節(jié)點(diǎn)選取。 </p> <p style="text-indent: 2em;"> // 從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),而不考慮它們的位置。 </p> <p style="text-indent: 2em;"> . 選取當(dāng)前節(jié)點(diǎn)。 </p> <p style="text-indent: 2em;"> .. 選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)。 </p> <p style="text-indent: 2em;"> @ 選取屬性。 </p> <p style="text-indent: 2em;"> 全部的實(shí)驗(yàn)結(jié)果如下,In[i]表示第i次實(shí)驗(yàn)的輸入,Out[i]表示第i次結(jié)果的輸出:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3qAVtJSAABq5y-5nTo180.png" /></p> <p style="text-indent: 2em;"> 當(dāng)然title這個標(biāo)簽對我們來說沒有太多的價值,下面我們就來真正抓取一些有意義的東西。</p> <p style="text-indent: 2em;"> 使用火狐的審查元素我們可以清楚地看到,我們需要的東西如下:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3uAdCiqAABSVCIAudw253.png" /></p> <p style="text-indent: 2em;"> 我們可以用如下代碼來抓取這個<li>標(biāo)簽:</p> <p style="text-indent: 2em;"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3uAEGbvAAAGwo7Xx3w887.png" /></p> <p style="text-indent: 2em;"> 從<li>標(biāo)簽中,可以這樣獲取網(wǎng)站的描述:</p> <p style="text-indent: 2em;"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3yAVaxqAAALDd45q6Y420.png" /></p> <p style="text-indent: 2em;"> 可以這樣獲取網(wǎng)站的標(biāo)題:</p> <p style="text-indent: 2em;"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3yALz5oAAALFMU58tc217.png" /></p> <p style="text-indent: 2em;"> 可以這樣獲取網(wǎng)站的超鏈接:</p> <p style="text-indent: 2em;"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3yAb7ArAAALbImHF8A623.png" /></p> <p style="text-indent: 2em;"> 當(dāng)然,前面的這些例子是直接獲取屬性的方法。</p> <p style="text-indent: 2em;"> 我們注意到xpath返回了一個對象列表,</p> <p style="text-indent: 2em;"> 那么我們也可以直接調(diào)用這個列表中對象的屬性挖掘更深的節(jié)點(diǎn)</p> <p style="text-indent: 2em;"> (參考:Nesting selectorsandWorking with relative XPathsin theSelectors):</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3yAKXYOAAAFlcs_O2Q945.png" /></p> <p style="text-indent: 2em;"> 3.4xpath實(shí)戰(zhàn)</p> <p style="text-indent: 2em;"> 我們用shell做了這么久的實(shí)戰(zhàn),最后我們可以把前面學(xué)習(xí)到的內(nèi)容應(yīng)用到dmoz_spider這個爬蟲中。</p> <p style="text-indent: 2em;"> 在原爬蟲的parse函數(shù)中做如下修改:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK32APDm_AABf9RQ21Ug644.png" /></p> <p style="text-indent: 2em;"> 注意,我們從scrapy.selector中導(dǎo)入了Selector類,并且實(shí)例化了一個新的Selector對象。這樣我們就可以像Shell中一樣操作xpath了。</p> <p style="text-indent: 2em;"> 我們來試著輸入一下命令運(yùn)行爬蟲(在tutorial根目錄里面):</p> <p style="text-indent: 2em;"> scrapy crawl dmoz</p> <p style="text-indent: 2em;"> 運(yùn)行結(jié)果如下:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK36Acd2dAAFYpLNs00Y419.png" /></p> <p style="text-indent: 2em;"> 果然,成功的抓到了所有的標(biāo)題。但是好像不太對啊,怎么Top,Python這種導(dǎo)航欄也抓取出來了呢?</p> <p style="text-indent: 2em;"> 我們只需要紅圈中的內(nèi)容:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK36AOjgYAACr0aW5qJA726.png" /></p> <p style="text-indent: 2em;"> 看來是我們的xpath語句有點(diǎn)問題,沒有僅僅把我們需要的項目名稱抓取出來,也抓了一些無辜的但是xpath語法相同的元素。</p> <p style="text-indent: 2em;"> 審查元素我們發(fā)現(xiàn)我們需要的<ul>具有class='directory-url'的屬性,</p> <p style="text-indent: 2em;"> 那么只要把xpath語句改成sel.xpath('//ul[@class="directory-url"]/li')即可</p> <p style="text-indent: 2em;"> 將xpath語句做如下調(diào)整:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK3-ACJoMAABs7DrGtok960.png" /></p> <p style="text-indent: 2em;"> 成功抓出了所有的標(biāo)題,絕對沒有濫殺無辜:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK4CAHGdkAAGerLsr9Lo332.png" /></p> <p style="text-indent: 2em;"> 3.5使用Item</p> <p style="text-indent: 2em;"> 接下來我們來看一看如何使用Item。</p> <p style="text-indent: 2em;"> 前面我們說過,Item 對象是自定義的python字典,可以使用標(biāo)準(zhǔn)字典語法獲取某個屬性的值:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK4GASXyKAAAbv4i09k4540.png" /></p> <p style="text-indent: 2em;"> 作為一只爬蟲,Spiders希望能將其抓取的數(shù)據(jù)存放到Item對象中。為了返回我們抓取數(shù)據(jù),spider的最終代碼應(yīng)當(dāng)是這樣:</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK4GASocHAACB7Ri1uLE782.png" /></p> <p style="text-indent: 2em;"> 4.存儲內(nèi)容(Pipeline)</p> <p style="text-indent: 2em;"> 保存信息的最簡單的方法是通過Feed exports,主要有四種:JSON,JSON lines,CSV,XML。</p> <p style="text-indent: 2em;"> 我們將結(jié)果用最常用的JSON導(dǎo)出,命令如下:</p> <p style="text-indent: 2em;"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK4GAHhJ1AAAJ_lLGWaQ037.png" /></p> <p style="text-indent: 2em;"> -o 后面是導(dǎo)出文件名,-t 后面是導(dǎo)出類型。</p> <p style="text-indent: 2em;"> 然后來看一下導(dǎo)出的結(jié)果,用文本編輯器打開json文件即可(為了方便顯示,在item中刪去了除了title之外的屬性):</p> <p align="center"> <img src="http://file.elecfans.com/web1/M00/7D/BB/pIYBAFwKK4KACVqfAAIE9eyo2bQ297.png" /></p> <p style="text-indent: 2em;"> 因?yàn)檫@個只是一個小型的例子,所以這樣簡單的處理就可以了。</p> <p style="text-indent: 2em;"> 如果你想用抓取的items做更復(fù)雜的事情,你可以寫一個 Item Pipeline(條目管道)。</p> </div> <div id="g8hztmc" class="statement2"> 聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 <a class="complaint handleJumpBy" href="/about/tousu.html" target="_blank">舉報投訴</a> </div> <ul class="hot-main clearfix" style="text-align: right; "> <li data-href="http://www.ttokpm.com/tags/python/"> <span>python</span> <div id="r1f2guu" class="hot-des"> <div id="v7mnuba" class="detail"> <div id="2qh9fnm" class="top clearfix"> <div id="l2evn0y" class="lf title"> <a href="http://www.ttokpm.com/tags/python" target="_blank">python</a> </div> <div id="kennvcd" class="lf attend advertTagId" data-id="42127">+關(guān)注</div> </div> <div class="c9mx2x9" id="tag_desc_button42127"></div> <div id="kno166s" class="clearfix des-detail"> <div id="xbd7rzt" class="lf"> <p>關(guān)注</p> <span>53</span> </div> <div id="dxrppzz" class="lf"> <p>文章</p> <span>4753</span> </div> <div id="ekcwnme" class="lf"> <p>瀏覽量</p> <span>84068</span> </div> </div> </div> </div> </li><li data-href="http://www.ttokpm.com/tags/爬蟲/"> <span>爬蟲</span> <div id="wuddljt" class="hot-des"> <div id="neop5hy" class="detail"> <div id="um06xm6" class="top clearfix"> <div id="v4bumtl" class="lf title"> <a href="http://www.ttokpm.com/tags/爬蟲" target="_blank">爬蟲</a> </div> <div id="dklff21" class="lf attend advertTagId" data-id="187495">+關(guān)注</div> </div> <div class="3lu7nxy" id="tag_desc_button187495"></div> <div id="cknv5qi" class="clearfix des-detail"> <div id="ay0yg4g" class="lf"> <p>關(guān)注</p> <span>0</span> </div> <div id="cyjxy7f" class="lf"> <p>文章</p> <span>80</span> </div> <div id="ygqrjrz" class="lf"> <p>瀏覽量</p> <span>6769</span> </div> </div> </div> </div> </li> </ul> <!-- 廣告中臺 --> <div id="hx6hghr" class="articleContentFooterAD" style="display: none; margin: 20px 0 0 0;"></div> <div id="wde00ye" class="wx_detail"> <p>原文標(biāo)題:爬蟲框架Scrapy的第一個爬蟲示例入門教程</p> <p>文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。</p> </div> </div> <div id="zprbjik" class="art-share-layout mt18" id="shareAddPcb"> <div id="vluwyfe" class="clearfix"> <a href="javascript:;" class="art-collect J_bottom-coll J_coll-btn" style="visibility:visible">收藏</a> <span id="dunll2v" class="ml15 fb"><span id="xwxya7z" class="J_stownum"></span>人收藏</span> <div id="qhzqgmc" class="bdsharebuttonbox fr"> <div id="qg2uctk" class="share-web-qrcode--detail fl"> <i class="share-web-qrcode--share-icon"></i> <div id="4jrqp2i" class="share-web-qrcode--bubble"> <div id="nbbll6a" class="share-web-qrcode--bubble-inner"> <p class="qrcode-copy-title">掃一掃,分享給好友</p> <div id="xudt0n2" class="qrcode-image"></div> <div id="y62hy9l" class="qrcode-copy-link"><span>復(fù)制鏈接分享</span></div> </div> </div> </div> </div> </div> <a class="art-like-up J_bottom-like J_like-btn" href="javascript:;"></a> <ul class="art-like-u"></ul> </div> <!-- comment Begin --> <div id="s9o6f6r" class="comment-list detaildzs_list" id="comment"> <h2 class="title2">評論</h2> </div><!-- comment End --> <div id="3v0dkiy" class="c-form" id="cForm"> <!-- 未登錄 --> <p class="c-login special-login">發(fā)布評論請先 <a href="javascript:;">登錄</a></p> </div> <div id="shgi6ck" class="article-list"> <p>相關(guān)推薦</p> <div id="79hpz7k" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > <b class='flag-5'>Python</b>數(shù)據(jù)<b class='flag-5'>爬蟲</b>學(xué)習(xí)內(nèi)容</a> </h2> <div id="f2rj5az" class="summary">流程來實(shí)現(xiàn)的。這個過程其實(shí)就是模擬了一個人工瀏覽網(wǎng)頁的過程。<b class='flag-5'>Python</b>中<b class='flag-5'>爬蟲</b>相關(guān)的包很多:urllib、requests、bs4、<b class='flag-5'>scrapy</b>、pyspider 等,我們可以按照requests</div> <div id="rq3bsbr" class="info"> <span id="wvgx3wg" class="fby">發(fā)表于</span> 05-09 17:25 <!-- <span id="inw7hhq" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="h9g2ypy" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > <b class='flag-5'>Python</b><b class='flag-5'>爬蟲</b>與Web開發(fā)庫盤點(diǎn)</a> </h2> <div id="74xpwof" class="summary">的接口,一般我們都是和正則結(jié)合使用,如果對速度有要求的話,建議用lmxp,它比bs4 速度要快很多。2.<b class='flag-5'>Scrapy</b><b class='flag-5'>爬蟲</b>的世界里面有沒有懶人專用的<b class='flag-5'>框架</b>,當(dāng)然有啦,<b class='flag-5'>scrapy</b>就是其中比</div> <div id="uttbrlk" class="info"> <span id="cr7tud5" class="fby">發(fā)表于</span> 05-10 15:21 <!-- <span id="azraqjd" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="6zy0zju" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > <b class='flag-5'>Python</b><b class='flag-5'>爬蟲</b>初學(xué)者需要準(zhǔn)備什么?</a> </h2> <div id="trbd3gg" class="summary">了一個人工瀏覽網(wǎng)頁的過程。<b class='flag-5'>Python</b>中<b class='flag-5'>爬蟲</b>相關(guān)的包很多:urllib、requests、bs4、<b class='flag-5'>scrapy</b>、pyspider 等,我們可以按照requests 負(fù)責(zé)連接網(wǎng)站,返回網(wǎng)頁,Xpath 用于</div> <div id="ayzzrsj" class="info"> <span id="nfoxvnn" class="fby">發(fā)表于</span> 06-20 17:14 <!-- <span id="uz9z1cp" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="trkbrhg" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > <b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b><b class='flag-5'>scrapy</b>包括了以下組件</a> </h2> <div id="batjbcc" class="summary"><b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b><b class='flag-5'>scrapy</b></div> <div id="9c2gnu0" class="info"> <span id="fwfpas1" class="fby">發(fā)表于</span> 04-03 15:57 <!-- <span id="sqzzygm" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="pxqrkk5" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > <b class='flag-5'>python</b>學(xué)習(xí)筆記-安裝<b class='flag-5'>scrapy</b></a> </h2> <div id="ncupyoo" class="summary">以下是基于<b class='flag-5'>python</b>所寫的一個<b class='flag-5'>爬蟲</b>,因?yàn)槲以?jīng)學(xué)過一點(diǎn)<b class='flag-5'>python</b>,所以對所有的東西都會寫的很詳細(xì),同時肯定會有錯的。。如果您在看這個博客,希望你可以指出我的錯誤之處,并且可以提高之處,謝謝。項目</div> <div id="3n2yzj1" class="info"> <span id="onp4jtc" class="fby">發(fā)表于</span> 07-10 07:49 <!-- <span id="azyw6ar" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="gvexwnc" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > <b class='flag-5'>Scrapy</b><b class='flag-5'>爬蟲</b>架構(gòu)流程圖詳解</a> </h2> <div id="8sj2ogn" class="summary"><b class='flag-5'>Scrapy</b><b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b></div> <div id="timml2v" class="info"> <span id="n210vbi" class="fby">發(fā)表于</span> 09-25 14:15 <!-- <span id="sblktbb" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="ctmmmvd" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > 使用<b class='flag-5'>scrapy</b>-Redis的<b class='flag-5'>爬蟲</b>項目</a> </h2> <div id="vld1mvk" class="summary"><b class='flag-5'>scrapy</b>-Redis分布式<b class='flag-5'>爬蟲</b></div> <div id="xwfhr6g" class="info"> <span id="qq5sjlb" class="fby">發(fā)表于</span> 03-24 10:24 <!-- <span id="6udf1uw" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="yn4phpf" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > Ubuntu 1604后臺如何運(yùn)行<b class='flag-5'>scrapy</b><b class='flag-5'>爬蟲</b>程序</a> </h2> <div id="r4x9bs2" class="summary">Ubuntu 1604后臺運(yùn)行<b class='flag-5'>scrapy</b><b class='flag-5'>爬蟲</b>程序</div> <div id="6cutks3" class="info"> <span id="iyqyqpn" class="fby">發(fā)表于</span> 05-25 12:32 <!-- <span id="ddm1dex" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="lja53qz" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > 如何通過網(wǎng)頁開啟<b class='flag-5'>scrapy</b><b class='flag-5'>爬蟲</b>?</a> </h2> <div id="2tdvl8w" class="summary">通過網(wǎng)頁開啟<b class='flag-5'>scrapy</b><b class='flag-5'>爬蟲</b>,scrapydganjo結(jié)合</div> <div id="jsj9pph" class="info"> <span id="fvnvvjr" class="fby">發(fā)表于</span> 06-05 15:56 <!-- <span id="m3z3tsa" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="lmmuscd" class="article" style="padding-left: 0px;"> <h2 class="title"> <a target="_blank" > 0基礎(chǔ)入門<b class='flag-5'>Python</b><b class='flag-5'>爬蟲</b><b class='flag-5'>實(shí)戰(zhàn)</b>課</a> </h2> <div id="dk3ypgw" class="summary">學(xué)習(xí)資料良莠不齊<b class='flag-5'>爬蟲</b>是一門實(shí)踐性的技能,沒有<b class='flag-5'>實(shí)戰(zhàn)</b>的課程都是騙人的!所以這節(jié)<b class='flag-5'>Python</b><b class='flag-5'>爬蟲</b><b class='flag-5'>實(shí)戰(zhàn)</b>課,將幫到你!課程從0基礎(chǔ)入門開始,受眾人群廣</div> <div id="rablc0g" class="info"> <span id="w3gzbaa" class="fby">發(fā)表于</span> 07-25 09:28 <!-- <span id="6t6ujar" class="art_click_count" data-id=""></span>次閱讀 --> </div> </div> <div id="hhhyq79" class="article" > <h2 class="title"> <a href="http://www.ttokpm.com/soft/study/net/2017/20171207596641.html" target="_blank" > 基于<b class='flag-5'>Scrapy</b>的<b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b>的Web應(yīng)用程序漏洞檢測方法</a> </h2> <div id="w5rzfr7" class="summary">不斷提高和完善防御的方法和手段。針對此問題,提出了一種基于<b class='flag-5'>Scrapy</b>的<b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b>的Web應(yīng)用程序漏洞檢測方法。通過<b class='flag-5'>框架</b>提供的便利條件對頁面進(jìn)行提取分析,根據(jù)不同的攻擊方式生成特有的攻擊</div> <div id="qizs0dn" class="info"> <span id="xhrksa1" class="fby">發(fā)表于</span> 12-07 09:48 <!-- <span id="ynegg1e" class="art_click_count" data-id=""></span>次閱讀 --> <span id="0zr3gww" class="sp">?</span><span id="7a2fo7o" class="" data-id="">2</span>次下載 </div> <a href="http://www.ttokpm.com/soft/study/net/2017/20171207596641.html" class="thumb" target="_blank"> <img src="https://file.elecfans.com/web2/M00/49/75/poYBAGKhwLiAcn8PAAASbfjQZZM951.jpg" alt="基于<b class='flag-5'>Scrapy</b>的<b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b>的Web應(yīng)用程序漏洞檢測方法" /> </a> </div> <div id="gvnuveg" class="article" style="padding-left: 0px;"> <h2 class="title"> <a href="http://www.ttokpm.com/d/889110.html" target="_blank" > <b class='flag-5'>python</b><b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b>有哪些</a> </h2> <div id="gsr1b64" class="summary">本視頻主要詳細(xì)介紹了<b class='flag-5'>python</b><b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b>有哪些,分別是Django、CherryPy、Web2py、TurboGears、Pylons、Grab、BeautifulSoup、Cola。</div> <div id="fl3j5ub" class="info"> <a class="face s" href="" target="_blank" rel="nofollow"> <img src="" alt="的頭像"/> </a> <span id="b92ti4e" class="fby">發(fā)表于</span> 03-22 16:13 <!-- <span id="eumml62" class="art_click_count" data-id=""></span>次閱讀 --> <span id="kphbktb" class="sp">?</span><span id="83crrkm" class="" data-id="">6713</span>次閱讀 </div> </div> <div id="l7yoeuv" class="article" style="padding-left: 0px;"> <h2 class="title"> <a href="http://www.ttokpm.com/d/1436835.html" target="_blank" > windows下如何新建<b class='flag-5'>爬蟲</b>虛擬環(huán)境和進(jìn)行<b class='flag-5'>Scrapy</b>安裝</a> </h2> <div id="si1omxh" class="summary"><b class='flag-5'>Scrapy</b>是<b class='flag-5'>Python</b>開發(fā)的一個快速、高層次的屏幕抓取和web抓取<b class='flag-5'>框架</b>,用于抓取web站點(diǎn)并從頁面中提取結(jié)構(gòu)化的數(shù)據(jù)。<b class='flag-5'>Scrapy</b>吸引人的地方在于它是一個</div> <div id="w1e2wnn" class="info"> <a class="face s" href="" target="_blank" rel="nofollow"> <img src="" alt="的頭像"/> </a> <span id="fvx74yr" class="fby">發(fā)表于</span> 12-25 18:03 <!-- <span id="8igyw2l" class="art_click_count" data-id=""></span>次閱讀 --> <span id="iyp4fp9" class="sp">?</span><span id="cssb6va" class="" data-id="">526</span>次閱讀 </div> </div> <div id="odmmk1k" class="article" > <h2 class="title"> <a href="http://www.ttokpm.com/d/2018353.html" target="_blank" > <b class='flag-5'>Scrapy</b>怎么爬取<b class='flag-5'>Python</b>文件</a> </h2> <div id="ixxx1o8" class="summary">我們介紹了<b class='flag-5'>Scrapy</b><b class='flag-5'>框架</b>運(yùn)行基本原理,緊接著我們介紹了如何利用<b class='flag-5'>Scrapy</b>爬取文本數(shù)據(jù)</div> <div id="u7s94h1" class="info"> <a class="face s" href="" target="_blank" rel="nofollow"> <img src="" alt="的頭像"/> </a> <span id="4zpxxpp" class="fby">發(fā)表于</span> 02-24 15:16 <!-- <span id="0mv1k5t" class="art_click_count" data-id=""></span>次閱讀 --> <span id="dsjt5px" class="sp">?</span><span id="wlkj122" class="" data-id="">483</span>次閱讀 </div> <a href="http://www.ttokpm.com/d/2018353.html" class="thumb" target="_blank"> <img src="https://file.elecfans.com/web2/M00/93/A9/poYBAGP4Y_6AB05JAAFNTAiOhI4194.jpg" alt="<b class='flag-5'>Scrapy</b>怎么爬取<b class='flag-5'>Python</b>文件" /> </a> </div> <div id="ylun6hj" class="article" style="padding-left: 0px;"> <h2 class="title"> <a href="http://www.ttokpm.com/d/2299204.html" target="_blank" > feapder:一款功能強(qiáng)大的<b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b></a> </h2> <div id="lzssrbi" class="summary">今天推薦一款更加簡單、輕量級,且功能強(qiáng)大的<b class='flag-5'>爬蟲</b><b class='flag-5'>框架</b>:feapder 項目地址: https://github.com/Boris-code/feapder 2. 介紹及安裝 和 <b class='flag-5'>Scrapy</b> 類似</div> <div id="on5bkcd" class="info"> <a class="face s" href="" target="_blank" rel="nofollow"> <img src="" alt="的頭像"/> </a> <span id="yggn0hz" class="fby">發(fā)表于</span> 11-01 09:48 <!-- <span id="dsja6rq" class="art_click_count" data-id=""></span>次閱讀 --> <span id="shqgwwn" class="sp">?</span><span id="kqqzi2q" class="" data-id="">906</span>次閱讀 </div> </div> </div> </div><!-- .main-wrap --> </article> <aside class="aside"> <input type="hidden" name="zl_mp" value="1"> <div id="yn0dmm2" class="author-box"> <div id="po5foyg" class="author"> <div id="a19wduk" class="author-msg"> <a href="/d/user/2737481/" class="face" target="_blank"><img src="https://bbs.elecfans.com/uc_server/data/avatar/002/73/74/81_avatar_big.jpg"/></a> <h2 class="author-msg-name"><a href="/d/user/2737481/" target="_blank">馬哥Linux運(yùn)維</a></h2> <!-- 需要條件判斷 --> <span id="rqqbbml" class="is-coulmn-author">專欄</span> </div> <div id="bha5bdn" class="count"> <span id="caq2b77" class="count-item"> <span id="xenednc" class="column-article-count">0</span> <b>文章</b> </span> <span id="4lueg05" class="count-item"> <span id="bib0jzj" class="column-view-count">0</span> <b>閱讀</b> </span> <span id="d3xg0a4" class="count-item"> <span id="kk7fqaz" class="column-follow-count">0</span> <b>粉絲</b> </span> <span id="z8suubr" class="count-item"> <span id="rhsaqpz" class="column-praise-count">0</span> <b>點(diǎn)贊</b> </span> </div> <div id="yh1iqz7" class="author-opreat"> <a class="author-collect" id="follow">關(guān)注</a> <a href="http://www.ttokpm.com/d/user/2737481/" title="***的空間" target="_blank">個人主頁</a> <!-- 需要條件判斷 --> </div> <!-- <span id="dzaj1ru" class="followNum"> <strong>49</strong>人關(guān)注 </span> --> </div> <div id="kraj6nx" class="author-recom"> <ul class="author-recom-list"> <li id="8n1cl2t" class="author-recom-item"> <span id="1blv27p" class="author-recom-type-hot">Hot</span> <a href=http://www.ttokpm.com/d/716931.html>Linux如何使用XFS?</a> </li><li id="l2zsaaq" class="author-recom-item"> <span id="jxppzhn" class="author-recom-type-hot">Hot</span> <a href=http://www.ttokpm.com/d/700023.html>keepalived及LVS概述,KeepAlived工作原理</a> </li> <li id="87v0v2h" class="author-recom-item"> <span id="ge6vvuv" class="author-recom-type-new">New</span> <a href=http://www.ttokpm.com/d/4888131.html>Linux OpenSSL命令詳解</a> </li><li id="n7dv9g9" class="author-recom-item"> <span id="trr6srj" class="author-recom-type-new">New</span> <a href=http://www.ttokpm.com/d/4888130.html>linux日志管理之journalctl命令</a> </li> </ul> </div> </div> <div class="xooi219" id="new-adsm-berry" ></div> <div class="oc2519d" id="new-company-berry"></div> <!-- 推薦文章【主站文章顯示這個】 --> <div id="h2vdvl8" class="aside-section"> <div id="w8qhrqq" class="aside-section-head"> <h3 class="aside-section-name">精選推薦</h3> <a class="aside-section-more" id="recMore" href="http://www.ttokpm.com/d/">更多<i class="arrow_right"></i></a> </div> <div id="452ascl" class="aside-section-body"> <ul class="article-rec-tabs"> <li data-index="0" class="is-active">文章</li> <li data-index="2" >資料</li> <li data-index="3" >帖子</li> </ul> <!-- 文章默認(rèn)展示 start --> <ul class="article-rec-content is-active"> <li id="szyhpgr" class="article-rec-item"> <div id="bzzhh9s" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/d/5809265.html" target="_blank"> <span>使用 MPS SiC 二極管可最大限度地降低高頻開關(guān)模式電源中的損耗</span> </a> </h4> <div id="0o1vlll" class="text-content"> <a class="text-name" href="http://www.ttokpm.com/d/user/1052410/" target="_blank">eeDesigner</a> <div id="77qg78z" class="text-date">2小時前</div> <div id="hgq0jcd" class="text-view">151 閱讀</div> </div> </div> </li><li id="yyq8pyy" class="article-rec-item"> <div id="edmopyx" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/d/5808783.html" target="_blank"> <span>華為云,調(diào)出AI原生三原色</span> </a> </h4> <div id="414neul" class="text-content"> <a class="text-name" href="http://www.ttokpm.com/d/user/3450344/" target="_blank">腦極體</a> <div id="7uk7gnn" class="text-date">2小時前</div> <div id="fv39n6l" class="text-view">179 閱讀</div> </div> </div> </li><li id="6tbklvm" class="article-rec-item"> <div id="trcj1cm" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/d/5808498.html" target="_blank"> <span>#參考設(shè)計# 3A,8 ~ 60 V,雙極步進(jìn)電機(jī)驅(qū)動器</span> </a> </h4> <div id="q4mwfur" class="text-content"> <a class="text-name" href="http://www.ttokpm.com/d/user/1052410/" target="_blank">eeDesigner</a> <div id="yfff0wf" class="text-date">3小時前</div> <div id="0bkcuiz" class="text-view">164 閱讀</div> </div> </div> </li><li id="shigxn3" class="article-rec-item"> <div id="cl5bbbi" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/d/5807532.html" target="_blank"> <span>物聯(lián)網(wǎng)行業(yè)中透明傳輸詳解以及如何實(shí)現(xiàn)</span> </a> </h4> <div id="n679mul" class="text-content"> <a class="text-name" target="_blank">jf_94171069</a> <div id="t7riqyw" class="text-date">4小時前</div> <div id="uhrrija" class="text-view">201 閱讀</div> </div> </div> </li><li id="tk0r0ja" class="article-rec-item"> <div id="rxfoggx" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/d/5807463.html" target="_blank"> <span>物聯(lián)網(wǎng)行業(yè)中模組的AT指令詳解以及使用</span> </a> </h4> <div id="fwwx9me" class="text-content"> <a class="text-name" target="_blank">jf_94171069</a> <div id="zlblsr1" class="text-date">4小時前</div> <div id="thqrs7n" class="text-view">198 閱讀</div> </div> </div> </li> </ul> <!-- 文章 end --> <!-- 方案默認(rèn)展示 start --> <!-- 方案 end --> <ul class="article-rec-content"> <li id="vc6l17s" class="article-rec-item"> <div id="ryrj7cc" class="col-left"> <div id="qgfpfcv" class="icon-type rar"></div> </div> <div id="fll4zza" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/soft/161/2009/2009080740046.html" target="_blank"> <span>利用VC++6.0 實(shí)現(xiàn)上位機(jī)與PLC的串行通信</span> </a> </h4> <div id="y0uvwwo" class="text-content"> <a class="text-name" target="_blank">可口可甜</a> <div id="rrr4ld5" class="text-date">178</div> <div id="q1eypfd" class="text-date">10積分</div> <div id="budvfnv" class="text-down">143下載</div> </div> </div> </li><li id="31cubt1" class="article-rec-item"> <div id="o3yopzz" class="col-left"> <div id="16wghy2" class="icon-type zip"></div> </div> <div id="1moqpq4" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/soft/Mec/2022/202204291827398.html" target="_blank"> <span>UAVStack研發(fā)運(yùn)維一體化的解決方案</span> </a> </h4> <div id="2wmoghy" class="text-content"> <a class="text-name" target="_blank">嗶嗶嗶-</a> <div id="pw1u5fc" class="text-date">16.08 MB</div> <div id="vsdb1nx" class="text-date">2積分</div> <div id="nuv1dee" class="text-down">1下載</div> </div> </div> </li><li id="arb1sb2" class="article-rec-item"> <div id="e7qssyy" class="col-left"> <div id="ajccsst" class="icon-type zip"></div> </div> <div id="ynfedov" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/soft/Mec/2022/202205201836028.html" target="_blank"> <span>rage加密工具</span> </a> </h4> <div id="sfw6yn6" class="text-content"> <a class="text-name" target="_blank">劉桂英</a> <div id="3zbsaqp" class="text-date">0.21 MB</div> <div id="vbaygfb" class="text-date">免費(fèi)</div> <div id="ck0bxg0" class="text-down">0下載</div> </div> </div> </li><li id="2rqpqyo" class="article-rec-item"> <div id="ydttmbb" class="col-left"> <div id="ownu4m8" class="icon-type zip"></div> </div> <div id="9nwxowv" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/soft/Mec/2022/202206171849673.html" target="_blank"> <span>scriptX腳本引擎抽象層</span> </a> </h4> <div id="qoyirbt" class="text-content"> <a class="text-name" target="_blank">劉丹</a> <div id="z34zbza" class="text-date">0.50 MB</div> <div id="06hxgi8" class="text-date">2積分</div> <div id="rooofew" class="text-down">1下載</div> </div> </div> </li><li id="dkcazyr" class="article-rec-item"> <div id="37gv6c7" class="col-left"> <div id="ellc5ne" class="icon-type rar"></div> </div> <div id="tirakct" class="col-right"> <h4 class="text-title"> <a href="http://www.ttokpm.com/soft/Mec/2023/202302282020765.html" target="_blank"> <span>ChatGPT團(tuán)隊背景研究報告</span> </a> </h4> <div id="b2w2pms" class="text-content"> <a class="text-name" target="_blank">elecfans小能手</a> <div id="kijv7ng" class="text-date">2.03 MB</div> <div id="jsjyhxh" class="text-date">5積分</div> <div id="72btkao" class="text-down">17下載</div> </div> </div> </li> </ul> <!-- 資料 end --> <!-- 帖子默認(rèn)展示 start --> <ul class="article-rec-content"> <li id="nkt7tx1" class="article-rec-item"> <div id="1nomn3w" class="col-right"> <h4 class="text-title"> <a target="_blank"> <span>【米爾NXP i.MX 93開發(fā)板試用評測】05.OpenWRT的構(gòu)建-構(gòu)建完成和燒錄</span> </a> </h4> <div id="dbbkaah" class="text-content"> <a class="text-name" target="_blank">dutong0321</a> <div id="jowvnll" class="text-date">20小時前</div> <div id="o1sa9dl" class="text-view">68 閱讀</div> </div> </div> </li><li id="a9ris7b" class="article-rec-item"> <div id="jziahpy" class="col-right"> <h4 class="text-title"> <a target="_blank"> <span>計算滯回比較器的上下門限電壓</span> </a> </h4> <div id="vcvn04j" class="text-content"> <a class="text-name" target="_blank">小生不才s</a> <div id="iqirihx" class="text-date">20小時前</div> <div id="l7hzr9b" class="text-view">135 閱讀</div> </div> </div> </li><li id="wkd518a" class="article-rec-item"> <div id="od7xlks" class="col-right"> <h4 class="text-title"> <a target="_blank"> <span>Made with KiCad:CAN 總線步進(jìn)電機(jī)閉環(huán)控制板</span> </a> </h4> <div id="aayoxzh" class="text-content"> <a class="text-name" target="_blank">jf_32603368</a> <div id="a2ssrrq" class="text-date">20小時前</div> <div id="wv2f7i7" class="text-view">117 閱讀</div> </div> </div> </li><li id="aprgvvn" class="article-rec-item"> <div id="v1uvv02" class="col-right"> <h4 class="text-title"> <a target="_blank"> <span>詳解一個短路(過流)保護(hù)電路</span> </a> </h4> <div id="rhh6mjs" class="text-content"> <a class="text-name" target="_blank">打馬過草原</a> <div id="3uexffo" class="text-date">20小時前</div> <div id="7xyyxfw" class="text-view">141 閱讀</div> </div> </div> </li><li id="ookec8r" class="article-rec-item"> <div id="h6cdk9g" class="col-right"> <h4 class="text-title"> <a target="_blank"> <span>干貨!PCB Layout 熱設(shè)計指導(dǎo)</span> </a> </h4> <div id="fm2pcvl" class="text-content"> <a class="text-name" target="_blank">手托初夢</a> <div id="9tk0me2" class="text-date">20小時前</div> <div id="ziasjip" class="text-view">147 閱讀</div> </div> </div> </li> </ul> <!-- 帖子 end --> <!-- 視頻 start --> <!-- 視頻 end --> <!-- 話題 start --> <!-- 話題 end --> </div> </div> <!-- <div class="xm9ucb0" id="new-company-zone"></div> --> <div class="1cd82eu" id="new-course-berry" ></div> <!-- 推薦專欄 --> <div id="sib2fgx" class="aside-section dzs-article-column"> <div id="syzll0u" class="aside-section-head"> <h3 class="aside-section-name">推薦專欄</h3> <a class="aside-section-more" href="http://www.ttokpm.com/d/column">更多<i class="arrow_right"></i></a> </div> <div id="g2s7c6b" class="aside-section-body"> <ul class="dzs-article-column-list"></ul> </div> </div> <div class="xmult6s" id="new-webinar-berry"></div> <div class="vmm03fu" id="IndexRightBottom"></div> </aside> </section> <!-- Page #content End --> <input type="hidden" name="aid" id="webID" value="828560"> <!-- $article['store_flag'] = 15 為企業(yè)號 --> <input type="hidden" class="store_flag" value="0"> <input type="hidden" class="evip_type" value="0"> <!--企業(yè)號文章id --> <input type="hidden" class="evip_article_id" value=""> <!-- 企業(yè)號id --> <input type="hidden" class="evip_id" value=""> <!--- 企業(yè)號是否付費(fèi)1-是 0-否 ---> <input type="hidden" name="isPayEvip" class="isPayEvip" value="0"> <input type="hidden" class="vip-limit-read" value="0"> <input type="hidden" id="headerType" value="data"> <input type="hidden" id="details_right_hero" value="true"> <input type="hidden" id="currentUserID" value="" /> <div id="l625qhb" class="gather-bottom"></div> <link rel="stylesheet" href="/static/footer/footer.css?20230919" /> <div id="8ovutai" class="public-footer"> <div id="h96nvtb" class="public-footer__hd"> <dl> <dt>華秋(原“華強(qiáng)聚豐”):</dt> <dd>電子發(fā)燒友</dd> <dd>華秋開發(fā)</dd> <dd>華秋電路(原"華強(qiáng)PCB")</dd> <dd>華秋商城(原"華強(qiáng)芯城")</dd> <dd>華秋智造</dd> </dl> <dl> <dd><a target="_blank" rel="nofollow">My ElecFans </a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/app/"> APP </a></li> <dd><a target="_blank" href="http://www.ttokpm.com/about/sitemap.html">網(wǎng)站地圖</a></dd> </dl> </div> <div id="qiiryyx" class="public-footer__main"> <dl> <dt>設(shè)計技術(shù)</dt> <dd><a href="http://www.ttokpm.com/pld/" target="_blank">可編程邏輯</a></dd> <dd><a href="http://www.ttokpm.com/article/83/" target="_blank">電源/新能源</a></dd> <dd><a href="http://www.ttokpm.com/article/88/142/" target="_blank">MEMS/傳感技術(shù)</a></dd> <dd><a href="http://www.ttokpm.com/article/85/" target="_blank">測量儀表</a></dd> <dd><a href="http://www.ttokpm.com/emb/" target="_blank">嵌入式技術(shù)</a></dd> <dd><a href="http://www.ttokpm.com/article/90/155/" target="_blank">制造/封裝</a></dd> <dd><a href="http://www.ttokpm.com/analog/" target="_blank">模擬技術(shù)</a></dd> <dd><a href="http://www.ttokpm.com/tongxin/rf/" target="_blank">RF/無線</a></dd> <dd><a href="http://www.ttokpm.com/emb/jiekou/" target="_blank">接口/總線/驅(qū)動</a></dd> <dd><a href="http://www.ttokpm.com/emb/dsp/" target="_blank">處理器/DSP</a></dd> <dd><a href="http://www.ttokpm.com/bandaoti/eda/" target="_blank">EDA/IC設(shè)計</a></dd> <dd><a href="http://www.ttokpm.com/consume/cunchujishu/" target="_blank">存儲技術(shù)</a></dd> <dd><a href="http://www.ttokpm.com/xianshi/" target="_blank">光電顯示</a></dd> <dd><a href="http://www.ttokpm.com/emc_emi/" target="_blank">EMC/EMI設(shè)計</a></dd> <dd><a href="http://www.ttokpm.com/connector/" target="_blank">連接器</a></dd> </dl> <dl> <dt>行業(yè)應(yīng)用</dt> <dd><a href="http://www.ttokpm.com/led/" target="_blank">LEDs </a></dd> <dd><a href="http://www.ttokpm.com/qichedianzi/" target="_blank">汽車電子</a></dd> <dd><a href="http://www.ttokpm.com/video/" target="_blank">音視頻及家電</a></dd> <dd><a href="http://www.ttokpm.com/tongxin/" target="_blank">通信網(wǎng)絡(luò)</a></dd> <dd><a href="http://www.ttokpm.com/yiliaodianzi/" target="_blank">醫(yī)療電子</a></dd> <dd><a href="http://www.ttokpm.com/rengongzhineng/" target="_blank">人工智能</a></dd> <dd><a href="http://www.ttokpm.com/vr/" target="_blank">虛擬現(xiàn)實(shí)</a></dd> <dd><a href="http://www.ttokpm.com/wearable/" target="_blank">可穿戴設(shè)備</a></dd> <dd><a href="http://www.ttokpm.com/jiqiren/" target="_blank">機(jī)器人</a></dd> <dd><a href="http://www.ttokpm.com/application/Security/" target="_blank">安全設(shè)備/系統(tǒng)</a></dd> <dd><a href="http://www.ttokpm.com/application/Military_avionics/" target="_blank">軍用/航空電子</a></dd> <dd><a href="http://www.ttokpm.com/application/Communication/" target="_blank">移動通信</a></dd> <dd><a href="http://www.ttokpm.com/kongzhijishu/" target="_blank">工業(yè)控制</a></dd> <dd><a href="http://www.ttokpm.com/consume/bianxiedianzishebei/" target="_blank">便攜設(shè)備</a></dd> <dd><a href="http://www.ttokpm.com/consume/chukongjishu/" target="_blank">觸控感測</a></dd> <dd><a href="http://www.ttokpm.com/iot/" target="_blank">物聯(lián)網(wǎng)</a></dd> <dd><a href="http://www.ttokpm.com/dianyuan/diandongche_xinnenyuan/" target="_blank">智能電網(wǎng)</a></dd> <dd><a href="http://www.ttokpm.com/blockchain/" target="_blank">區(qū)塊鏈</a></dd> <dd><a href="http://www.ttokpm.com/xinkeji/" target="_blank">新科技</a></dd> </dl> <dl> <dt>特色內(nèi)容</dt> <dd><a href="http://www.ttokpm.com/d/column/" target="_blank">專欄推薦</a></dd> <dd><a target="_blank" >學(xué)院</a></dd> <dd><a target="_blank" >設(shè)計資源</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/technical/">設(shè)計技術(shù)</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/baike/">電子百科</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/dianzishipin/">電子視頻</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/yuanqijian/">元器件知識</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/tools/">工具箱</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/vip/#choose">VIP會員</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/article/special/">最新技術(shù)文章</a></dd> </dl> <dl> <dt>社區(qū)</dt> <dd><a target="_blank" >小組</a></dd> <dd><a target="_blank" >論壇</a></dd> <dd><a target="_blank" >問答</a></dd> <dd><a target="_blank" >評測試用</a></dd> <dt><a target="_blank" >企業(yè)服務(wù)</a></dt> <dd><a target="_blank" >產(chǎn)品</a></dd> <dd><a target="_blank" >資料</a></dd> <dd><a target="_blank" >文章</a></dd> <dd><a target="_blank" >方案</a></dd> <dd><a target="_blank" >企業(yè)</a></dd> </dl> <dl> <dt>供應(yīng)鏈服務(wù)</dt> <dd><a target="_blank" href="http://www.ttokpm.com/kf/">硬件開發(fā)</a></dd> <dd><a target="_blank" >華秋電路</a></dd> <dd><a target="_blank" >華秋商城</a></dd> <dd><a target="_blank" >華秋智造</a></dd> <dd><a target="_blank" >nextPCB</a></dd> <dd><a target="_blank" >BOM配單</a></dd> <dt>媒體服務(wù)</dt> <dd><a target="_blank" href="http://www.ttokpm.com/about/service.html">網(wǎng)站廣告</a></dd> <dd><a target="_blank" >在線研討會</a></dd> <dd><a target="_blank" >活動策劃</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/news/">新聞發(fā)布</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/xinpian/ic/">新品發(fā)布</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/quiz/">小測驗(yàn)</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/contest/">設(shè)計大賽</a></dd> </dl> <dl> <dt>華秋</dt> <dd><a target="_blank" href="http://www.ttokpm.com/about/" rel="nofollow">關(guān)于我們</a></dd> <dd><a target="_blank" rel="nofollow">投資關(guān)系</a></dd> <dd><a target="_blank" rel="nofollow">新聞動態(tài)</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/about/zhaopin.html" rel="nofollow">加入我們</a></dd> <dd><a target="_blank" href="http://www.ttokpm.com/about/contact.html" rel="nofollow">聯(lián)系我們</a></dd> <dd><a target="_blank" href="/about/tousu.html" rel="nofollow">舉報投訴</a></dd> <dt>社交網(wǎng)絡(luò)</dt> <dd><a target="_blank" rel="nofollow">微博</a></dd> <dt>移動端</dt> <dd><a target="_blank" href="http://www.ttokpm.com/app/">發(fā)燒友APP</a></dd> <dd><a target="_blank" >硬聲APP</a></dd> <dd><a target="_blank" >WAP</a></dd> </dl> <dl> <dt>聯(lián)系我們</dt> <dd class="small_tit">廣告合作</dd> <dd>王婉珠:<a href="mailto:wangwanzhu@elecfans.com">wangwanzhu@elecfans.com</a></dd> <dd class="small_tit">內(nèi)容合作</dd> <dd>黃晶晶:<a href="mailto:huangjingjing@elecfans.com">huangjingjing@elecfans.com</a></dd> <dd class="small_tit">內(nèi)容合作(海外)</dd> <dd>張迎輝:<a href="mailto:mikezhang@elecfans.com">mikezhang@elecfans.com</a></dd> <dd class="small_tit">供應(yīng)鏈服務(wù) PCB/IC/PCBA</dd> <dd>江良華:<a href="mailto:lanhu@huaqiu.com">lanhu@huaqiu.com</a></dd> <dd class="small_tit">投資合作</dd> <dd>曾海銀:<a href="mailto:zenghaiyin@huaqiu.com">zenghaiyin@huaqiu.com</a></dd> <dd class="small_tit">社區(qū)合作</dd> <dd>劉勇:<a href="mailto:liuyong@huaqiu.com">liuyong@huaqiu.com</a></dd> </dl> <ul class="qr-code"> <li> <p>關(guān)注我們的微信</p> <img src="/static/main/img/elecfans_code.jpg" alt="關(guān)注我們的微信" /> </li> <li> <p>下載發(fā)燒友APP</p> <img src="/static/main/img/elec_app_code.jpg" alt="下載發(fā)燒友APP" /> </li> <li> <p>電子發(fā)燒友觀察</p> <img src="/static/main/img/elec_focus_code.jpg" alt="電子發(fā)燒友觀察" /> </li> </ul> </div> <div id="5w6r9z2" class="public-footer__ft"> <div id="42f1fmk" class="public-footer__ft-inner"> <a target="_blank" class="public-footer__ft-logo"> <img class="is-default" src="/static/footer/image/footer-01-default.png" alt="華秋電子" /> <img class="is-hover" src="/static/footer/image/footer-01.png" alt="華秋電子" /> </a> <div id="fef4fve" class="public-footer__ft-right"> <div id="rffxbzj" class="public-footer__ft-item public-footer__ft-elecfans"> <div id="aaji19k" class="hd"> <a href="http://www.ttokpm.com/" target="_blank"> <!-- <img class="is-default" src="/static/footer/image/footer-02-default.png" alt="華秋發(fā)燒友"> <img class="is-hover" src="/static/footer/image/footer-02.png" alt="華秋發(fā)燒友"> --> <div id="igyisba" class="site_foot_img"> <img src="/static/footer/image/elecfans-logo.svg" alt="華秋發(fā)燒友"> </div> <div id="iyqrii1" class="site_foot_text">電子工程師社區(qū)</div> </a> </div> </div> <div id="y4brrpo" class="public-footer__ft-item public-footer__ft-hqpcb"> <div id="tlw6raq" class="hd"> <a target="_blank"> <div id="lr5ps5t" class="site_foot_img"> <img src="/static/footer/image/hqpcb-logo.svg" alt="華秋電路"> </div> <div id="vuuusb1" class="site_foot_text">1-32層PCB打樣·中小批量</div> </a> </div> </div> <div id="stlvvll" class="public-footer__ft-item public-footer__ft-hqchip"> <div id="u5bzo5a" class="hd"> <a target="_blank"> <div id="2ikt2d2" class="site_foot_img"> <img src="/static/footer/image/hqchip-logo.svg" alt="華秋商城"> </div> <div id="616d127" class="site_foot_text">元器件現(xiàn)貨·全球代購·SmartBOM</div> </a> </div> </div> <div id="77he2ay" class="public-footer__ft-item public-footer__ft-smt"> <div id="krrkz21" class="hd"> <a target="_blank"> <div id="4xwy01z" class="site_foot_img"> <img src="/static/footer/image/smt-logo.svg" alt="華秋智造"> </div> <div id="pv7dtl9" class="site_foot_text">SMT貼片·PCBA加工</div> </a> </div> </div> <div id="q8dvcuj" class="public-footer__ft-item public-footer__ft-nextpcb"> <div id="es2aq3g" class="hd"> <a href="javascript:void(0)" class="next-pck-link"> <div id="3ffhy2c" class="site_foot_img"> <img src="/static/footer/image/nextpcb-logo.svg" alt="NextPCB"> </div> <div id="p68mbzx" class="site_foot_text">PCB Manufacturer</div> </a> </div> </div> <ul class="public-footer__ft-text"> <li><a target="_blank">華秋簡介</a></li> <li><a target="_blank">企業(yè)動態(tài)</a></li> <li><a target="_blank">聯(lián)系我們</a></li> <li><a target="_blank">企業(yè)文化</a></li> <li><a target="_blank">企業(yè)宣傳片</a></li> <li><a target="_blank">加入我們</a></li> </ul> </div> </div> </div> <div id="foox8zp" class="public-footer__copyright"> <p>版權(quán)所有 ? 湖南華秋數(shù)字科技有限公司 </p> <p>長沙市望城經(jīng)濟(jì)技術(shù)開發(fā)區(qū)航空路6號手機(jī)智能終端產(chǎn)業(yè)園2號廠房3層(0731-88081133)</p> <a href="http://www.ttokpm.com/">電子發(fā)燒友</a> <a href="http://www.ttokpm.com/" target="_blank"><strong>(電路圖)</strong></a> <a target="_blank" rel="nofollow">湘公網(wǎng)安備43011202000918</a> <!-- <a href="http://www.ttokpm.com/about/edi.html" target="_blank">電信與信息服務(wù)業(yè)務(wù)經(jīng)營許可證:合字B2-20210191</a> --> <a target="_blank" rel="nofollow"> <img src="http://skin.elecfans.com/images/ebsIcon.png" alt="工商網(wǎng)監(jiān)認(rèn)證">工商網(wǎng)監(jiān) </a> <a target="_blank" rel="nofollow">湘ICP備2023018690號-1</a> </div> <div><input type="hidden" value="0" name="arc_relate_vid"></div> </div> <link rel="stylesheet" href="/webapi/public/project/idt/iconfont/iconfont.css"> <script src="https://skin.elecfans.com/js/elecfans_jquery.js"></script> <script src="https://staticd.elecfans.com/js/plugins.js"></script> <script> (function () { postmessageScript() function postmessageScript() { /* * postmessage */ var con_net = "" if (window.location.href.indexOf(".net") > -1) { con_net = "net" } else { con_net = "com" } var script = document.createElement('script'); script.type = 'text/javascript'; script.src = 'https://passport.elecfans.' + con_net + '/public/pc/plugin/postmessage.js'; var body = document.getElementsByTagName("body").item(0); body.appendChild(script); } /* * 推薦文章無圖時樣式修改 * */ $(".article .thumb").each(function () { if ($(this).find('img').attr('src') == "") { $(this).find('img').remove(); $(this).parent().css('padding-left', '0px'); } }); /*百度分享*/ window._bd_share_config = { common: { bdText: '', //自定義分享內(nèi)容 bdDesc: '', //自定義分享摘要 bdPic: '' }, share: [{ "bdSize": 60 }] } with(document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = '']; })(); var add_url = '/d/article/write/'; var check_allow = "/d/api/iscantalk.html"; var click_items_length = $('.art_click_count').length; if (click_items_length > 0) { var id_str = ''; $('.art_click_count').each(function () { id_str += $(this).attr('data-id') + ','; }) var url = "/d/api/getclickbyids.html"; var id_data = 'id_str=' + id_str; $.ajax({ url: url, data: id_data, type: 'post', dataType: 'json', success: function (re) { if (re.list.length >= 1) { var list = re.list; for (var i in list) { var temp_id = list[i]['id']; var temp_span = $(".art_click_count[data-id=" + temp_id + "]") temp_span.html(list[i]['click']); } } } }) } function CheckLogin() { //alert(11) now_uid = ''; var ElecfansApi_checklogin = '/webapi/passport/checklogin'; var logout_url = "/d/login/logout.html"; var logout_url = 'https://bbs.elecfans.com/member.php?mod=logging&action=logout&refer=front'; $.get(ElecfansApi_checklogin, function (data, textStatus) { if (data != "") { EchoLoginInfo(data); CheckEmailInfo(data); data = $.parseJSON(data); now_uid = data.uid; /*var login_content = '<a href="/d/article/write/" class="btn write-article"><i class="icon-new-message"></i> 寫文章</a><div id="zg8nltr" class="mine" id="mine"><a class="item user" href="/d/user/'+now_uid+'/"><img src="'+data.avatar+'" width="33" height="33" /> <strong>'+data.username+'</strong></a><div class="3a8qo1i" id="mymenu" class="my-menu"><a class="logout" href="'+logout_url+'" ><i class="icon-switch"></i> 退出</a></div></div>';*/ var login_content = '<a href="javascript:;" class="btn write-article" id="write_btn"><i class="icon-new-message"></i> 寫文章</a><div id="05gukir" class="mine" id="mine"><a class="item user" href="/d/user/' + now_uid + '/"><img src="' + data.avatar + '" width="33" height="33" /> <strong>' + data .username + '</strong></a><div class="o8tunon" id="mymenu" class="my-menu"><a class="setting" target="_blank" ><i class="icon-cog"></i> 設(shè)置</a><a class="logout" href="' + logout_url + '" ><i class="icon-switch"></i> 退出</a></div></div>'; $('#login_area').html(login_content); var win_width = $(window).width(); if (win_width > 1000) { $("#mine").mouseDelay(200).hover(function () { $("#mymenu").show(); }, function () { $("#mymenu").hide(); }); }; $('.newheader2021_tip_msg .tip_msg_num').text(data.msgnum).css({ 'display': 'inline' }); $('.no_login_2021').hide(); $('.yes_login_2021_more').css({ 'display': 'flex' }); $('.yes_login_2021').attr('href', 'https://bbs.elecfans.com/user/' + data.uid); $('.yes_login_2021 .vtm').attr('src', data.avatar); var yesLoginMoreBox = $('.yes_login_2021_more_box'); yesLoginMoreBox.find('.header_logo_2021').attr('href', 'https://bbs.elecfans.com/user/' + data .uid); yesLoginMoreBox.find('.header_logo_2021 img').attr('src', data.avatar); yesLoginMoreBox.find('.header_logo_right_2021').attr('href', 'https://bbs.elecfans.com/user/' + data.uid); yesLoginMoreBox.find('.usename_href_2021').attr('href', 'https://bbs.elecfans.com/user/' + data .uid).text(data.username); $(".header_bottom_2021 .favorite_articles_2021").attr("href", "https://bbs.elecfans.com/user/" + data.uid + "/favorite_articles?from=daohang"); $(".header_bottom_2021 .spacecp_2021").attr("href", "https://bbs.elecfans.com/home.php?mod=space&uid=" + data.uid + "&do=profile&from=daohang"); if (data.vip == 1) { yesLoginMoreBox.find('.header_VIP_2021').hide(); yesLoginMoreBox.find('.vip_icon img').attr('src', 'https://skin.elecfans.com/images/2021-soft/vip_icon2.png'); }; } else { remainLog(); var content = '<a class="item special-login " href="javascript:;" title="">登錄</a><a class="item" target="_blank">注冊</a>'; $('#login_area').html(content); //.send-write,.absolute-write $(".special-login").click(function (e) { $.tActivityLogin(); return false; }); $('.no_login_2021').click(function () { $.ssoDialogLogin(); }) } }); } function getCookie(name) { var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if (arr = document.cookie.match(reg)) return unescape(arr[2]); else return null; } //添加提示注冊引導(dǎo) function remainLog() { if ($("#remainLogBox").length > 0) { return false; } var getRemainShow = getCookie('REMAINSHOWLOG'); /*設(shè)置注冊框的主題內(nèi)容*/ var content = '<div class="nkl12zx" id="remainLogBox">' + '<div id="tuumulk" class="sso_layer"></div>' + '<div id="m5ahone" class="remain-log clearfix">' + '<div id="riaazge" class="fl LogBgPart">' + '<h3>電子發(fā)燒友</h3> ' + '<p>中國電子工程師最喜歡的網(wǎng)站</p> ' + '<ul>' + '<li>與<span id="downNum">2931785</span>位工程師會員交流學(xué)習(xí)</li>' + '<li>獲取您個性化的科技前沿技術(shù)信息</li> ' + '<li>參加活動獲取豐厚的禮品</li> ' + '</ul>' + '</div>' + '<div id="5duveeg" class="fr LogRightPart">' + '<div class="btkddcb" id="colseRemainLog"><img src="https://skin.elecfans.com/images/remain_log_colse.png"></div>' + '<div class="2oogge3" id="ssoScrollLog"></div>' + '</div>' + '</div>' + '</div>'; $("body").append(content); $("#colseRemainLog").click(function () { var Days = 1; var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); /*存儲cookie 用于點(diǎn)擊關(guān)閉后一天不顯示*/ document.cookie = 'REMAINSHOWLOG' + "=" + '1' + ";path= " + "/" + ";expires=" + exp.toGMTString(); $("#remainLogBox").remove(); $("html").css('overflow-y', 'auto'); }); setTimeout(function () { var netHost = window.location.host.split("."); $.ajax({ url: 'https://www.elecfans.' + netHost[2] + '/webapi/passport/totalaccount', dataType: 'json', success: function (data) { if (data.status == "successed") { $("#downNum").html(data.data.num); } } }) }, 1000); var getPathHref = location.pathname; /*判斷是否是首頁*/ if (getPathHref.length > 1 && getPathHref != "/index.html" && ($(".side-box.author-article").length > 0 || $( ".article .article-content").length > 0)) { var getLoadPageNum = getCookie('LoadPageNum'); if (getLoadPageNum) { var LoadPageUrl = getCookie('LoadPageUrl'); if (LoadPageUrl != location.pathname) { $(window).scroll(function () { /*滾動一屏頁面后顯示*/ if ($(window).scrollTop() > ($(window).height() / 2)) { if (getRemainShow != 1) { if ($("#remainLogBox").length > 0) { $("#remainLogBox").show(); $("html").css('overflow-y', 'hidden'); } } } }) } } else { var Days = 1; var exp = new Date(); exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000); /*存儲cookie 用于點(diǎn)擊關(guān)閉后一天不顯示*/ document.cookie = 'LoadPageNum' + "=" + '1' + ";path= " + "/" + ";expires=" + exp.toGMTString(); var LoadPageUrl = getCookie('LoadPageUrl'); if (!LoadPageUrl) { document.cookie = 'LoadPageUrl' + "=" + location.pathname + ";path= " + "/" + ";expires=" + exp .toGMTString(); } } } } $(function () { var follow_wrap = $(".author-collect"); var now_uid = ""; var face_src = ""; var getFollowNum = $(".followNum strong").html(); //關(guān)注 $(window).on('click', '.author-collect', function () { if (now_uid == '') { $.tActivityLogin(); return false; } if($(".store_flag").val() == 15){ //企業(yè)號文章 if($(".evip_id").length == 0){return false} if ($(this).attr('id') == 'follow') { $.post('/webapi/home/evipArticle/followEvip', { evip_id : $(".evip_id").val(), action:'follow' }, function (data) { //返回的數(shù)據(jù)格式: if (data.code == "0") { follow_wrap.html('已關(guān)注').attr('id', 'cancelFollow').addClass( 'is-active'); }else{ alert(data.msg); } }); }else{ $.post('/webapi/home/evipArticle/followEvip',{ evip_id : $(".evip_id").val(), action:'cancel' }, function (data) { //返回的數(shù)據(jù)格式: if (data.code == "0") { follow_wrap.html('關(guān)注').attr('id', 'follow').removeClass( "is-active"); }else{ alert(data.msg); } }); } }else{ if ($(this).attr('id') == 'follow') { $.post('/d/user/follow', { tuid: article_user_id }, function (data) { //返回的數(shù)據(jù)格式: if (data.status == "successed") { $(".followNum strong").html(++getFollowNum); // follow_wrap.html('已關(guān)注').attr('id','cancelFollow').css('background','#999'); follow_wrap.html('已關(guān)注').attr('id', 'cancelFollow').addClass( 'is-active'); var follow_user = '<a href="/d/user/' + now_uid + '/" data-uid="' + now_uid + '" class="face" rel="nofollow"><img src="' + face_src + '"></a>'; $('#follow_list').append(follow_user); } if (data.status == "failed") { alert(data.msg); } }); }else{ $.post('/d/user/cancelFollow',{tuid: article_user_id }, function (data) { //返回的數(shù)據(jù)格式: if (data.status == "successed") { // follow_wrap.html('關(guān)注').attr('id', 'follow').css('background', '#f90'); follow_wrap.html('關(guān)注').attr('id', 'follow').removeClass( "is-active"); $(".followNum strong").html(--getFollowNum); $('#follow_list .face').each(function () { var target_uid = $(this).attr('data-uid'); if (target_uid == now_uid) { $(this).remove(); } }) } if (data.status == "failed") { alert(data.msg); } }); } } }); }); // 綁定手機(jī)號 $(".send-write").click(function () { $.ajax({ url: '/webapi/passport/checklogin', type: "get", dataType: 'json', success: function (login) { if (login == null) { $.ssoDialogLogin(); } else { isVerification(function () { window.open("/d/article/write/") }) } } }) }); /* * ********: 驗(yàn)證手機(jī)號 * callback: 驗(yàn)證成功的回調(diào)函數(shù) */ // isVerification(function(){ // //完成手機(jī)號驗(yàn)證 后判斷是否完善資料 // isPerfectInfo($,document,function(){},false,true) // }) function isVerification_d(callback, article_write) { var passport = null; var bbs_host = null; if (location.host.indexOf(".com") > 0) { passport = window.location.protocol + "http://passport.elecfans.com"; www_host = window.location.protocol + "http://www.ttokpm.com"; } else { passport = window.location.protocol + "http://passport.elecfans.net"; www_host = window.location.protocol + "http://www.elecfans.net"; } $.ajax({ url: www_host + '/webapi/passport/checklogin', type: "get", dataType: 'json', success: function (login) { if (login) { $.ajax({ url: www_host + '/webapi/Mcenter/sms/getvalidstatus', type: "post", dataType: 'json', success: function (res) { var phoneTxt = "<p style='text-indent: 20px;margin-bottom: 10px;'>您好!為確保您賬戶的安全及正常使用,依《網(wǎng)絡(luò)安全法》相關(guān)要求,4月22日起賬戶需綁定手機(jī),如您還未綁定,請盡快完成,感謝您的理解及支持!</p>" var setHtml = function () { var _iframe = null; if (article_write === "article_write") { _iframe = '<div id="svfgxo0" class="pop_verification_mask"><div id="qyb6vbl" class="pop_verification phone_verification">' + '<h6>請驗(yàn)證手機(jī)<i class="close_icon_d close_verification">╳</i></h6>' + '<div id="2ub0afp" class="desc_txt">尊敬的用戶:<br>' + phoneTxt + '</div>' + '<iframe class="phone_iframe" width="520" height="580" src="' + passport + '/Security/validatePhone/siteid/14.html"></iframe>' + '</div></div>' $('body').append(_iframe).ready(function () { $(".close_verification:eq(0)").click( function (e) { e.stopPropagation(); $.ajax({ url: www_host + '/webapi/Mcenter/sms/getvalidstatus', type: "post", dataType: 'json', success: function ( res) { if (res.data .phonestatus == 0) { layer .msg( "請先驗(yàn)證手機(jī)號" ) } else { $(".pop_verification_mask") .remove() } } }) }) }) } else { _iframe = '<div id="dve4p4c" class="pop_verification_mask"><div id="ascdno2" class="pop_verification phone_verification">' + '<h6>請驗(yàn)證手機(jī)<i class="close_icon_d close_verification">╳</i></h6>' + '<div id="67rz7dj" class="desc_txt">尊敬的用戶:<br>' + phoneTxt + '</div>' + '<iframe class="phone_iframe" id="verificationIframe" width="488" height="580" src="' + passport + '/Security/validatePhone/siteid/14.html"></iframe>' + '</div></div>' $('body').append(_iframe).ready(function () { $(".close_verification:eq(0)").click( function (e) { e.stopPropagation(); $(".pop_verification").remove() if ($(".pop_verification_mask") .length >= 1) { $(".pop_verification_mask") .remove() } }); }) } } //已經(jīng)驗(yàn)證手機(jī)號 if (res.data.phonestatus == 1) { if (typeof callback === "function") { callback() } } else { setHtml(); //沒有完成驗(yàn)證先彈出手機(jī)驗(yàn)證 // 接受數(shù)據(jù) // $.receiveMessage(function(msg){ // // 接收到純數(shù)字時設(shè)置iframe的高度 // if($.isNumeric(msg.data)){ // }else if(typeof(msg.data)=="string"){ // } // }, passport); } } }) } else { //調(diào)用登錄 $.ssoDialogLogin(); //單點(diǎn)登錄 return false; //彈出登錄 } } }) } $('body').css({ 'background-color': '#fff' }); $('.newheader2021').css({ 'border-bottom': 'solid 1px #e5e5e5' }); </script> <script src="https://staticd.elecfans.com/js/common.js?20230818"></script> <script src="https://staticd.elecfans.com/plugins/layer/layer.js"></script> <script src="https://skin.elecfans.com/js/elecfans/road_ad.js?20230818" defer></script> <script src="https://skin.elecfans.com/js/elecfans/organizing/js/organizing.js?20230710"></script> <script src="https://skin.elecfans.com/js/elecfans/interview.js?20230724"></script> <script type="text/javascript" src="https://staticd.elecfans.com/plugins/layer/layer.js"></script> <script type="text/javascript" src="/static/vendor/clipboard.min.js"></script> <script type="text/javascript" src="https://staticd.elecfans.com/js/share-web.js?20220223"></script> <script> var myface = "https://bbs.elecfans.com/uc_server/data/avatar/000/00/00/00_avatar_small.jpg"; var myname = ""; var article_title = 'python爬蟲框架Scrapy實(shí)戰(zhàn)案例!'; var article_id = 828560; var article_user_id = 2737481;//文章作者ID var article_user_name = '馬哥Linux運(yùn)維'; var rightHeightChange = false; //專欄用戶數(shù)據(jù)獲取 var zlMp = $('input[name="zl_mp"]').val(); //是專欄用戶 if (zlMp) { $.ajax({ url:"/d/Column/getUserCount", type:'get', data:{uid:article_user_id}, success:function(res){ if(res.code === 0){ //修改數(shù)量 $('.column-article-count').text(res.data.article); $('.column-view-count').text(res.data.view); $('.column-follow-count').text(res.data.follow_count); $('.column-praise-count').text(res.data.all_click); } else { console.log(res); } } }) } if(article_id) { dIsOriginal() } //原創(chuàng)標(biāo)識接口 function dIsOriginal() { $.ajax({ url:"/webapi/arcinfo/isOriginal", type:'get', data:{aid:article_id}, success:function(re){ var res=JSON.parse(re) if(res.status==="successed"){ //1原創(chuàng)標(biāo)識 if(res.data.is_original==1){ $(".yuanchuan_images").show() }else{ $(".yuanchuan_images").remove() } }else{ $(".yuanchuan_images").remove() } } }); } $('#delete_art').click(function(){ var art_id = $(this).attr('data-id'); var url = '/d/article/delete'; var data = "id="+art_id; layer.confirm('確定要刪除?', { btn: ['取消','確定'] //按鈕 }, function(){ layer.msg('已經(jīng)取消', {icon: 1}); }, function(){ $.ajax({ url:url, type:'post', data:data, success:function(re){ if(re.error_code==200){ var uid = re.uid; var lurl = '/d/user/'+uid+'/'; layer.msg('已經(jīng)刪除', {icon: 1}); window.location.href = lurl; }else{ layer.msg(re.msg,{icon:1}); } } }) }); }); </script> <script src="https://staticd.elecfans.com/js/xgPlayer.js"></script> <script src="https://staticd.elecfans.com/js/article.js?v=20240328"></script> <script src="https://staticd.elecfans.com/js/column_article.js?v=c202307271023"></script> <script> $(document).ready(()=>{ /**推薦文章 */ $.ajax({ url: "/d/article/getArcList", type: "get", data: { type: "recommend", page: 1, size: 5 }, success: function (res) { if (res.code == 0) { renderArticle(res.data); rightHeightChange = true } else { $(".dzs-article-recom").hide(); } }, }); /**推薦企業(yè)號 */ if($(".store_flag").val() == 15){ $.ajax({ url: "/webapi/home/evip/getRecommendFollow", type: "get", success: function (res) { if(res.code == 0 && Array.isArray(res.data)){ var qyStr = '' for(var r = 0;r<res.data.length;r++){ var qyItem =res.data[r]; var jumpUrl = window.location.origin + '/d/c' + qyItem.apply_uid; var itemIcon = ''; var tagsArr = (qyItem.belong_to_industry || []).split(",") tagsArr = tagsArr.splice(0,3) var is_follow = qyItem.is_follow == 1?'focus':'unFocus' if(qyItem.ver_id == 1 || qyItem.ver_id == 2){ itemIcon= '/static/main/img/qyh/pro_vip_sm.png' }else if(qyItem.ver_id == 3){ itemIcon= '/static/main/img/qyh/enjoy_vip_sm.png' } else { itemIcon= '/static/main/img/qyh/common_vip_sm.png' } qyStr +='<li><a href="'+jumpUrl+'" target="_blank" class="block" >'; qyStr += '<div id="yjdev6v" class="enterInfo">' qyStr += '<div id="fx2i0cy" class="enterImg">' qyStr += '<img src="'+qyItem.enterprise_head_url+'" class="companyImg objectFit"/>' qyStr += '</div>' qyStr += '<div id="sl5nfmu" class="enterDes">' qyStr += '<div id="voqyqgd" class="name">' qyStr +='<img src="'+itemIcon+'" alt="">' qyStr +='<h5>'+qyItem.enterprise_name +'</h5>' qyStr +='</div>' qyStr +='<div id="lvf2yo0" class="companyName">'+qyItem.company_name +'</div>' qyStr += '<div id="e2b27s4" class="tags">' for(var t = 0;t<tagsArr.length;t++){ qyStr += '<span>'+tagsArr[t]+'</span>' } qyStr += '</div>' qyStr += '</div>' qyStr += '</div>' qyStr += '<div id="dx0n5z6" class="industry">' qyStr += '<div id="6yzr2dk" class="view">' qyStr += '<span>'+qyItem.archives_count+'內(nèi)容</span>' qyStr += '<span>'+ qyItem.view_count +'瀏覽量</span>' qyStr += '<span>'+qyItem.follow_count +'粉絲</span>' qyStr += '</div>' if(qyItem.is_follow == 1){ qyStr += '<span id="slvn219" class="qyhFocus focus" data-qyId="'+qyItem.id +'"></span>' }else{ qyStr += '<span id="yirpvpx" class="qyhFocus unFocus" data-qyId="'+qyItem.id +'">+關(guān)注</span>' } qyStr += '</div>' qyStr += '</a>' qyStr += '</li>' } $(".enterWrap-qyh").append(qyStr) } } }) //企業(yè)號關(guān)注和取消關(guān)注 $(".enterWrap-qyh").on("click",".qyhFocus",function(){ if($(".is-login").length>0 && $(".is-login").attr("data-uid")){ var hasFocus = $(this).hasClass("focus"); var qyId = $(this).attr("data-qyId") var that = $(this) $.post('/webapi/home/evipArticle/followEvip', { evip_id : qyId, action:hasFocus?'cancel':'follow' }, function (data) { //返回的數(shù)據(jù)格式: if (data.code == "0") { if(hasFocus){ that.removeClass("focus").addClass("unFocus").text("+關(guān)注") }else{ that.removeClass("unFocus").addClass("focus").text("") } }else{ alert(data.msg); } }); }else{ $.ssoDialogLogin(); } return false }) }else{ /**推薦專欄 */ $.ajax({ url: "/d/article/getZlList", type: "get", data: { type: "recommend", page: 1, size: 5 }, success: function (res) { if (res.code == 0) { renderColumn(res.data,""); rightHeightChange = true } else { $(".dzs-article-column").hide(); } }, }); } }) </script> <script src="https://staticd.elecfans.com/js/artilePartjs.js?20230906"></script> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.ttokpm.com/" title="好色先生污app">好色先生污app</a> <div class="friend-links"> <a href="http://www.1600edenplainsrd.com/">精品国产一级aa久久毛片</a> <a href="http://www.boring-chat.com/">在线观看中文无码</a> <a href="http://www.najcosmetics.com/">一级毛片真人45分钟免费播放视频</a> <a href="http://www.785y.com/">成人三级在线播放线观看</a> </div> </div> </footer> <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body><div id="fg0iz" class="pl_css_ganrao" style="display: none;"><wbr id="fg0iz"></wbr><pre id="fg0iz"></pre><kbd id="fg0iz"></kbd><form id="fg0iz"></form><xmp id="fg0iz"><bdo id="fg0iz"><strong id="fg0iz"></strong></bdo></xmp><listing id="fg0iz"><strong id="fg0iz"><font id="fg0iz"><ins id="fg0iz"></ins></font></strong></listing><nobr id="fg0iz"></nobr><source id="fg0iz"><abbr id="fg0iz"><noscript id="fg0iz"><meter id="fg0iz"></meter></noscript></abbr></source><ol id="fg0iz"></ol><span id="fg0iz"></span><legend id="fg0iz"><label id="fg0iz"></label></legend><center id="fg0iz"></center><span id="fg0iz"></span><thead id="fg0iz"><pre id="fg0iz"><p id="fg0iz"><s id="fg0iz"></s></p></pre></thead><dl id="fg0iz"><p id="fg0iz"></p></dl><nav id="fg0iz"><dfn id="fg0iz"></dfn></nav><nav id="fg0iz"><dfn id="fg0iz"></dfn></nav><center id="fg0iz"></center><big id="fg0iz"><pre id="fg0iz"><cite id="fg0iz"><s id="fg0iz"></s></cite></pre></big><meter id="fg0iz"><i id="fg0iz"></i></meter><fieldset id="fg0iz"><pre id="fg0iz"><noframes id="fg0iz"></noframes></pre></fieldset><code id="fg0iz"><nav id="fg0iz"></nav></code><dd id="fg0iz"><object id="fg0iz"><cite id="fg0iz"></cite></object></dd><abbr id="fg0iz"></abbr><rt id="fg0iz"></rt><fieldset id="fg0iz"><rt id="fg0iz"><dfn id="fg0iz"></dfn></rt></fieldset><nav id="fg0iz"><progress id="fg0iz"></progress></nav><abbr id="fg0iz"></abbr><form id="fg0iz"></form><td id="fg0iz"></td><thead id="fg0iz"></thead><form id="fg0iz"></form><li id="fg0iz"></li><listing id="fg0iz"></listing><output id="fg0iz"></output><button id="fg0iz"><span id="fg0iz"><legend id="fg0iz"><pre id="fg0iz"></pre></legend></span></button><dfn id="fg0iz"></dfn><video id="fg0iz"><noframes id="fg0iz"><center id="fg0iz"></center></noframes></video><li id="fg0iz"></li><i id="fg0iz"><output id="fg0iz"><button id="fg0iz"><span id="fg0iz"></span></button></output></i><small id="fg0iz"><td id="fg0iz"><tfoot id="fg0iz"></tfoot></td></small><sub id="fg0iz"><samp id="fg0iz"><thead id="fg0iz"></thead></samp></sub><em id="fg0iz"></em><ruby id="fg0iz"></ruby><s id="fg0iz"><abbr id="fg0iz"><video id="fg0iz"></video></abbr></s><sup id="fg0iz"></sup><thead id="fg0iz"></thead><center id="fg0iz"></center><kbd id="fg0iz"></kbd><pre id="fg0iz"></pre><samp id="fg0iz"><source id="fg0iz"><legend id="fg0iz"><noscript id="fg0iz"></noscript></legend></source></samp><blockquote id="fg0iz"><form id="fg0iz"><label id="fg0iz"><style id="fg0iz"></style></label></form></blockquote><menu id="fg0iz"></menu><code id="fg0iz"></code><cite id="fg0iz"></cite><legend id="fg0iz"></legend><tfoot id="fg0iz"></tfoot><tt id="fg0iz"></tt><pre id="fg0iz"><sub id="fg0iz"><ol id="fg0iz"></ol></sub></pre><ol id="fg0iz"></ol><strong id="fg0iz"></strong><blockquote id="fg0iz"><dl id="fg0iz"></dl></blockquote><i id="fg0iz"></i><li id="fg0iz"></li><pre id="fg0iz"></pre><meter id="fg0iz"></meter><acronym id="fg0iz"></acronym><noframes id="fg0iz"></noframes><thead id="fg0iz"><delect id="fg0iz"><p id="fg0iz"></p></delect></thead><style id="fg0iz"></style><input id="fg0iz"><strong id="fg0iz"><object id="fg0iz"><th id="fg0iz"></th></object></strong></input><dl id="fg0iz"><listing id="fg0iz"><li id="fg0iz"></li></listing></dl><output id="fg0iz"></output><dl id="fg0iz"><wbr id="fg0iz"><strong id="fg0iz"></strong></wbr></dl><mark id="fg0iz"><tbody id="fg0iz"></tbody></mark><var id="fg0iz"></var><tt id="fg0iz"><source id="fg0iz"><td id="fg0iz"><th id="fg0iz"></th></td></source></tt><pre id="fg0iz"></pre><progress id="fg0iz"></progress><xmp id="fg0iz"></xmp><u id="fg0iz"><thead id="fg0iz"></thead></u><ol id="fg0iz"></ol><output id="fg0iz"></output><center id="fg0iz"></center><abbr id="fg0iz"><center id="fg0iz"></center></abbr><thead id="fg0iz"><tbody id="fg0iz"><dfn id="fg0iz"><ins id="fg0iz"></ins></dfn></tbody></thead><nobr id="fg0iz"></nobr><td id="fg0iz"></td><dd id="fg0iz"></dd><source id="fg0iz"></source><rt id="fg0iz"></rt><strong id="fg0iz"></strong><pre id="fg0iz"><dfn id="fg0iz"><form id="fg0iz"></form></dfn></pre><em id="fg0iz"></em><code id="fg0iz"><strong id="fg0iz"></strong></code><thead id="fg0iz"></thead><center id="fg0iz"><option id="fg0iz"><pre id="fg0iz"><strike id="fg0iz"></strike></pre></option></center><u id="fg0iz"><dd id="fg0iz"></dd></u><samp id="fg0iz"></samp><video id="fg0iz"></video></div> </html>