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

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

多線程在python3爬蟲中調(diào)用函數(shù)的示例

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

創(chuàng)新互聯(lián)成立與2013年,先為建華等服務(wù)建站,建華等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為建華企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

可以說函數(shù)和python爬蟲一般情況下都可以結(jié)合使用,但是這需要小伙伴們對(duì)于函數(shù)的使用方法進(jìn)行充分的了解,才能和python爬蟲的知識(shí)點(diǎn)緊密結(jié)合使用。經(jīng)過幾天多線程和爬蟲的內(nèi)容講解,相信大家對(duì)于這方面的模塊內(nèi)容已經(jīng)比較熟悉的,所以可以用我們的老朋友download()函數(shù)進(jìn)行一次知識(shí)點(diǎn)的交流,下面就來來看看download()在python爬蟲中的運(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()通過調(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ì)隨著爬蟲的進(jìn)行而更新
        global g_queue_urls# 初始,隊(duì)列中僅有一個(gè)url
        g_queue_urls.append(self.url)# 爬取的深度
        depth =0
        print(f'爬蟲{self.name}開始啟動(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)用爬蟲函數(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爬蟲中調(diào)用。

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


網(wǎng)站欄目:多線程在python3爬蟲中調(diào)用函數(shù)的示例
鏈接地址:http://weahome.cn/article/jhgeij.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部