quoc-khanh commited on
Commit
a29a886
·
verified ·
1 Parent(s): af19d03

Update helpers.py

Browse files
Files changed (1) hide show
  1. helpers.py +28 -19
helpers.py CHANGED
@@ -21,30 +21,39 @@ if "GOOGLE_API_KEY" not in os.environ:
21
  os.environ["GOOGLE_API_KEY"] = "AIzaSyDJ4vIKuIBIPNHATLxnoHlagXWbsAz-vRs"
22
  key = "AIzaSyDJ4vIKuIBIPNHATLxnoHlagXWbsAz-vRs"
23
 
24
- async def get_urls_splits(url='https://nct.neu.edu.vn/', char='https://nct.neu.edu.vn/'):
25
- reqs = requests.get(url)
26
- soup = BeautifulSoup(reqs.text, 'html.parser')
27
-
28
- urls = []
29
- for link in soup.find_all('a', href=True): # Chỉ lấy thẻ có 'href'
 
 
 
 
 
 
 
30
  href = link.get('href')
31
- if href.startswith(char):
32
- urls.append(href)
33
- return urls
34
- # docs = []
35
- # for page_url in url:
36
- # loader = WebBaseLoader(web_paths=[page_url])
37
- # async for doc in loader.alazy_load():
38
- # docs.append(doc)
39
 
40
- # assert len(docs) == 1
41
- # # doc = docs[0]
 
 
 
 
 
 
42
 
43
- # return docs
 
44
 
45
  # Ví dụ sử dụng
46
- # nct_urls = get_nct_urls('https://nct.neu.edu.vn/')
47
- # print(nct_urls)
48
 
49
  def log_message(messages, filename="chat_log.txt"):
50
  """Ghi lịch sử tin nhắn vào file log"""
 
21
  os.environ["GOOGLE_API_KEY"] = "AIzaSyDJ4vIKuIBIPNHATLxnoHlagXWbsAz-vRs"
22
  key = "AIzaSyDJ4vIKuIBIPNHATLxnoHlagXWbsAz-vRs"
23
 
24
+ def get_web_documents(base_url='https://nct.neu.edu.vn/'):
25
+ """Lấy tất cả URL từ trang web và trích xuất nội dung văn bản"""
26
+
27
+ # Bước 1: Lấy danh sách URL
28
+ response = requests.get(base_url)
29
+ if response.status_code != 200:
30
+ print(f"Không thể truy cập {base_url}")
31
+ return []
32
+
33
+ soup = BeautifulSoup(response.text, 'html.parser')
34
+
35
+ urls = set() # Dùng set để tránh trùng lặp
36
+ for link in soup.find_all('a', href=True):
37
  href = link.get('href')
38
+ if href.startswith(base_url): # Chỉ lấy URL nội bộ
39
+ urls.add(href)
40
+
41
+ print(f"Tìm thấy {len(urls)} URL hợp lệ.")
 
 
 
 
42
 
43
+ # Bước 2: Tải nội dung từ các URL
44
+ docs = []
45
+ for page_url in urls:
46
+ try:
47
+ loader = WebBaseLoader(web_paths=[page_url])
48
+ docs.extend(loader.load()) # Đồng bộ, không cần async
49
+ except Exception as e:
50
+ print(f"Lỗi khi tải {page_url}: {e}")
51
 
52
+ print(f"Tải thành công {len(docs)} trang.")
53
+ return docs
54
 
55
  # Ví dụ sử dụng
56
+ documents = get_web_documents("https://nct.neu.edu.vn/")
 
57
 
58
  def log_message(messages, filename="chat_log.txt"):
59
  """Ghi lịch sử tin nhắn vào file log"""