91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中怎么利用多線程實現一個網絡爬蟲

發布時間:2021-07-05 16:17:52 來源:億速云 閱讀:150 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關python中怎么利用多線程實現一個網絡爬蟲,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

#!_*_coding:utf-8- -*- #! 
@time :2021/4/4 7:58 #!name :Vislf import threading,queue import time import requests from bs4 import BeautifulSoup from tqdm import tqdm #文本寫入線程 def write_txt(url_list,Q): print('啟動了') f=open(book_name,'w',encoding='utf-8') f.close() # 開始寫入 for i in tqdm(range(len(url_list))): va=Q.get() url_list[va[-1]].append(va[:-1]) f=open(book_name,'a',encoding='utf-8') print('打開文本開始寫入') print('開始寫入文本') for i in tqdm(range(len(url_list))): f.write(url_list[i][1]) f.write('\n') f.write('\n') f.write('\n') f.write('\n'.join(url_list[i][-1])) f.write('\n') f.write('\n') f.write('\n') f.flush() #網頁下載,解析線程 def get_txt(n,q): req = requests.get(url=n[0]) req.encoding = 'utf-8' html = req.text bf = BeautifulSoup(html, 'lxml') texts = bf.find('div', id='content') content = texts.text.strip().split('\xa0' * 4) content.append(n[2]) q.put(content,1) #主線程 def main(): print('程序啟動:') q=queue.Queue(2048) threads=[] url_list_data=[] ks_time=time.time() #獲取小說章節信息 req = requests.get(url=target) req.encoding = 'utf-8' html = req.text chapter_bs = BeautifulSoup(html, 'lxml') chapters = chapter_bs.find('div', id='list') chapters = chapters.find_all('a') #得到url列表,標號列表 for i in range(len(chapters)): data0 = server + chapters[i].get('href') data1 = chapters[i].string data2 = i url_list_data.append([]) url_list_data[i].append(data0) url_list_data[i].append(data1) url_list_data[i].append(data2) #網頁線程啟動 for i in tqdm(range(len(url_list_data))): t=threading.Thread(target=get_txt,args=(url_list_data[i],q)) threads.append(t) threads[i].start() t=threading.Thread(target=write_txt,args=(url_list_data,q)) t.start() for i in range(len(url_list_data)-500): threads[i].join() t.join() print('python 程序結束的地方-') sj=time.time()-ks_time print(sj) if __name__=="__main__": server = 'https://www.xsbiquge.com' book_name = '詭秘之主.txt' target = 'https://www.xsbiquge.com/15_15338/' main() exit()

看完上述內容,你們對python中怎么利用多線程實現一個網絡爬蟲有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

秦皇岛市| 贵港市| 菏泽市| 雷山县| 麦盖提县| 布拖县| 个旧市| 逊克县| 南涧| 云霄县| 出国| 萝北县| 当雄县| 普宁市| 哈尔滨市| 南岸区| 渭南市| 天津市| 巴林左旗| 广饶县| 施秉县| 临夏县| 墨脱县| 施甸县| 三原县| 张家界市| 渑池县| 洞头县| 霍林郭勒市| 汨罗市| 肥东县| 朝阳市| 格尔木市| 古蔺县| 印江| 贺州市| 三都| 砀山县| 威远县| 廊坊市| 京山县|