|
@@ -4,8 +4,20 @@ import os
|
|
|
import urllib
|
|
|
from selenium.webdriver.common.by import By
|
|
|
import sys
|
|
|
+import urlToarticle
|
|
|
+from fastapi import FastAPI
|
|
|
+from pydantic import BaseModel
|
|
|
+from typing import List
|
|
|
|
|
|
+
|
|
|
+app = FastAPI()
|
|
|
driver = None
|
|
|
+
|
|
|
+driver_path = 'C:\/Users\/s1301\/Downloads\/132\/chromedriver-win32\/chromedriver.exe'
|
|
|
+user_data_dir = 'C:/Users/s1301/AppData/Local/Google/Chrome/User Data'
|
|
|
+profile_directory = 'Profile 1'
|
|
|
+
|
|
|
+
|
|
|
def re_get_webdriver():
|
|
|
global port
|
|
|
global driver
|
|
@@ -59,7 +71,7 @@ def get_resource(kw):
|
|
|
|
|
|
resources_list = []
|
|
|
|
|
|
- for elmt in elmts:
|
|
|
+ for elmt in elmts[0:11]:
|
|
|
href = elmt.get_attribute('href')
|
|
|
resources_list.append(href)
|
|
|
print(resources_list)
|
|
@@ -71,4 +83,30 @@ def get_resource(kw):
|
|
|
|
|
|
driver.quit()
|
|
|
|
|
|
-get_resource('') # 取得搜尋結果第一頁網址來源
|
|
|
+# urls = get_resource('書房 設計 北歐') # 取得搜尋結果第一頁網址來源
|
|
|
+# urls = ['https://www.100.com.tw/article/4359', 'https://yes-99.com/news-info.asp?id=278', 'https://www.seec.com.tw/content/Goods/List.aspx?SiteID=10&MmmID=655575436061073254&CatId=2015120918304527132']
|
|
|
+# article_generator = urlToarticle.ArticleGenerator(user_data_dir, profile_directory, driver_path)
|
|
|
+# is_succesed = article_generator.generate_article(urls)
|
|
|
+# if is_succesed:
|
|
|
+# print(is_succesed)
|
|
|
+
|
|
|
+
|
|
|
+class SearchRequest(BaseModel):
|
|
|
+ keyword: str
|
|
|
+
|
|
|
+class GenerateRequest(BaseModel):
|
|
|
+ urls: List[str]
|
|
|
+
|
|
|
+@app.post("/search/")
|
|
|
+async def search_resource(request: SearchRequest):
|
|
|
+ urls = get_resource(request.keyword)
|
|
|
+ return {"urls":urls}
|
|
|
+
|
|
|
+
|
|
|
+@app.post("/generate/")
|
|
|
+async def generate_article(request: GenerateRequest):
|
|
|
+ article_generator = urlToarticle.ArticleGenerator(user_data_dir, profile_directory, driver_path)
|
|
|
+ is_success = article_generator.generate_article(request.urls)
|
|
|
+ return {"success": is_success}
|
|
|
+
|
|
|
+
|