import requests
from lxml import etree
import threading
from queue import Queue
url="https://www.qjnu.edu.cn/channels/9260.html"
word=input("请输入词汇:")
a=requests.get(url)
b=a.content.decode()
c=etree.HTML(b)
ad=c.xpath("//h4/a/@href") #网页网址
title=c.xpath("//h4/a/text()")#标题内容
d=[]
for i in range(len(ad)):#将符合word词汇的标题网址存入列表d中
if word in title[i]:
d.append(ad[i])
#保存对应的网页地址到“学校党员主题网址.txt”
for i in range(len(d)):
with open('学校'+word+'主题网址.txt','at',encoding='utf-8') as f:
f.writelines(d[i])
f.writelines('\n')
def Pachong(u): #将正文内容写进文档
aa=requests.get(u)
bb=aa.content.decode()
cc=etree.HTML(bb)
dd=cc.xpath("//span/text()")
dd.insert(0,'第'+str(i)+'篇相关词汇内容:\n')
dd.append('\n')
with open('学校'+word+'主题.txt','at',encoding='utf-8') as f:
f.writelines(dd)
f.writelines('\n')
#import time
#t_start=time.perf_counter()
#创建一个空列表,存标题网址
url_queue=Queue()
for i in range(len(d)):
url_queue.put(d[i])
#多线程
aa=[]
for i in range(url_queue.qsize()):
a=threading.Thread(target=Pachong,args=(url_queue.get(i)))
aa.append(a)
print(a)
#for j in aa:#开始执行程序
#j.start()
#for k in aa:#保证子线程能够执行完成
#k.join()
#t_end=time.perf_counter()
#t_all=t_end-t_start
#print(t_all)