AIRider commited on
Commit
daca80e
·
verified ·
1 Parent(s): 8ba58e3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +16 -9
app.py CHANGED
@@ -28,18 +28,25 @@ def crawl_naver_search_results(url):
28
  title = div2.text.strip()
29
  for a in div2.find_all("a", href=True):
30
  link = a["href"]
31
- results.append({"제목": title, "링크": link})
32
- html_table = "<table><tr><th>제목</th><th>링크</th></tr>"
 
 
 
 
 
 
 
33
  for result in results:
34
- html_table += f"<tr><td>{result['제목']}</td><td>{result['링크']}</td></tr>"
35
- html_table += "</table>"
36
- return html_table
37
 
38
  with gr.Interface(
39
- fn=lambda query: crawl_naver_search_results(generate_naver_search_url(query)),
40
  inputs=gr.Textbox(label="키워드를 입력하세요"),
41
- outputs=gr.HTML(label="크롤링된 제목과 링크 목록"),
42
- title="네이버 검색 제목과 링크 크롤러",
43
- description="검색 쿼리를 입력하여 네이버 검색 결과에서 제목과 링크를 크롤링합니다"
44
  ) as demo:
45
  demo.launch()
 
28
  title = div2.text.strip()
29
  for a in div2.find_all("a", href=True):
30
  link = a["href"]
31
+ # 제목과 내용 크롤링
32
+ response = session.get(link)
33
+ soup = BeautifulSoup(response.text, "html.parser")
34
+ content = soup.find("div", class_="post_ct").text.strip()
35
+ results.append({"title": title, "content": content})
36
+ return results
37
+
38
+ def format_results(results):
39
+ html = "<table>"
40
  for result in results:
41
+ html += f"<tr><td>{result['title']}</td><td>{result['content']}</td></tr>"
42
+ html += "</table>"
43
+ return html
44
 
45
  with gr.Interface(
46
+ fn=lambda query: format_results(crawl_naver_search_results(generate_naver_search_url(query))),
47
  inputs=gr.Textbox(label="키워드를 입력하세요"),
48
+ outputs=gr.HTML(label="크롤링된 제목과 내용"),
49
+ title="네이버 검색 제목과 내용 크롤러",
50
+ description="검색 쿼리를 입력하여 네이버 검색 결과에서 제목과 내용을 크롤링합니다"
51
  ) as demo:
52
  demo.launch()