作者:IT小样
以单线程来爬取所有页的豆瓣书名,那么运行时间会非常久,因此考虑使用多线程来增加并发,减少爬取时长。实现方案如下:
import requests
import threading
from bs4 import BeautifulSoup
import queue
import random,time
count_crawel = 3
count_parse = 3
class Thread_Crawel(threading.Thread):
def __init__(self,url_queue,outcome_queue,number):
threading.Thread.__init__(self)
self.url_queue = url_queue
self.outcome_queue = outcome_queue
self.number = number
self.header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36'}
def run(self):
print("启动采集线程",self.number)
while self.url_queue.qsize()>0:
url = self.url_queue.get()
print(self.number,"线程采集url:",url)
time.sleep(random.randint(5,15)/10)
response= requests.get(url,headers = self.header,verify=False)
if response.status_code == 200:
self.outcome_queue =

本文介绍了如何使用Python爬虫配合多线程技术,提高并发能力,快速爬取豆瓣网站上的书籍名称,以缩短整体爬取时间。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



