多线程在python3爬虫中调用函数的示例
创始人
2024-11-20 13:42:54
0次

可以说函数和python爬虫一般情况下都可以结合使用,但是这需要小伙伴们对于函数的使用方法进行充分的了解,才能和python爬虫的知识点紧密结合使用。经过几天多线程和爬虫的内容讲解,相信大家对于这方面的模块内容已经比较熟悉的,所以可以用我们的老朋友download()函数进行一次知识点的交流,下面就来来看看download()在python爬虫中的运用吧。

对其进行构造,创建日志,download()函数创建线程,update_queque_url对连接的列表进行更新,get_url()根据bs4进行匹配获取连接,download_all()通过调用download()函数实现批量下载。spider作为一个入口函数进行爬取

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):# 内容会随着爬虫的进行而更新
        global g_queue_urls# 初始,队列中仅有一个url
        g_queue_urls.append(self.url)# 爬取的深度
        depth =0
        print(f'爬虫{self.name}开始启动........')
        while g_queue_urls:
            depth +=1
            print(f'当前爬取深度是{depth}')
            self.logfile.write(f'URL:{g_queue_urls[0]}')
            self.download_all() # 下载所有
            self.update_queque_url() # 更新 url队列
            self.logfile.write(f">>>Depth:{depth}")
            count = 0
            while count 10 and  'http://' not in link['href']:
 # 如果link是相对地址
                        links.append(self.url +link['href'])
 
 
 
        except Exception as e:
            print("fail to get url",e)
        return links

主函数调用爬虫函数的spider()方法

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

除了download()函数,spider()也可以在python爬虫中调用。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...