真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

多線程在python3爬蟲(chóng)中調(diào)用函數(shù)的示例-創(chuàng)新互聯(lián)

小編給大家分享一下多線程在python3爬蟲(chóng)中調(diào)用函數(shù)的示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)的開(kāi)發(fā),更需要了解用戶,從用戶角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。創(chuàng)新互聯(lián)建站多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見(jiàn)的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián)建站,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。

可以說(shuō)函數(shù)和python爬蟲(chóng)一般情況下都可以結(jié)合使用,但是這需要小伙伴們對(duì)于函數(shù)的使用方法進(jìn)行充分的了解,才能和python爬蟲(chóng)的知識(shí)點(diǎn)緊密結(jié)合使用。經(jīng)過(guò)幾天多線程和爬蟲(chóng)的內(nèi)容講解,相信大家對(duì)于這方面的模塊內(nèi)容已經(jīng)比較熟悉的,所以可以用我們的老朋友download()函數(shù)進(jìn)行一次知識(shí)點(diǎn)的交流,下面就來(lái)來(lái)看看download()在python爬蟲(chóng)中的運(yùn)用吧。

對(duì)其進(jìn)行構(gòu)造,創(chuàng)建日志,download()函數(shù)創(chuàng)建線程,update_queque_url對(duì)連接的列表進(jìn)行更新,get_url()根據(jù)bs4進(jìn)行匹配獲取連接,download_all()通過(guò)調(diào)用download()函數(shù)實(shí)現(xiàn)批量下載。spider作為一個(gè)入口函數(shù)進(jìn)行爬取

class Crawler:
    def __init__(self,name,domain,thread_number):
        self.name=name
 
        self.domain=domain
        self.thread_number=thread_number
 
        self.logfile=open('log.txt','w')
        self.thread_pool=[]
        self.url = 'http://'+domain
 
     def spider(self):# 內(nèi)容會(huì)隨著爬蟲(chóng)的進(jìn)行而更新
        global g_queue_urls# 初始,隊(duì)列中僅有一個(gè)url
        g_queue_urls.append(self.url)# 爬取的深度
        depth =0
        print(f'爬蟲(chóng){self.name}開(kāi)始啟動(dòng)........')
        while g_queue_urls:
            depth +=1
            print(f'當(dāng)前爬取深度是{depth}')
            self.logfile.write(f'URL:{g_queue_urls[0]}')
            self.download_all() # 下載所有
            self.update_queque_url() # 更新 url隊(duì)列
            self.logfile.write(f">>>Depth:{depth}")
            count = 0
            while count 10 and  'http://' not in link['href']:
 # 如果link是相對(duì)地址
                        links.append(self.url +link['href'])
 
 
 
        except Exception as e:
            print("fail to get url",e)
        return links

主函數(shù)調(diào)用爬蟲(chóng)函數(shù)的spider()方法


if __name__=="__main__":
    domain ="www.geyanw.com"
    thread_number=10
    name="geyan"
    crawler =Crawler(name,domain,thread_number)
    crawler.spider()

除了download()函數(shù),spider()也可以在python爬蟲(chóng)中調(diào)用。

以上是“多線程在python3爬蟲(chóng)中調(diào)用函數(shù)的示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文標(biāo)題:多線程在python3爬蟲(chóng)中調(diào)用函數(shù)的示例-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/djeees.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部