��代码 

import osfrom typing import Listfrom fastapi import FastAPI, Queryfrom selenium import webdriverfrom selenium.webdriver.chrome.options import Options
app = FastAPI()@app.get("/")def read_root(url: List[str] = Query(None)):
    youku_url = url[0]
    cookie = "/app/youku_cookies.txt"
    rs = os.popen('you-get -c ' + cookie + ' --json ' + youku_url)
    res = rs.buffer.read().decode(encoding='utf8')
    st = ""
    for line in res.splitlines():
        st += line    return [email protected]("/chrome/")def read_chrome(url: List[str] = Query(None)):
    get_url = url[0]
    chrome_options = Options()
    chrome_options.add_argument('--headless')  # 无界面
    chrome_options.add_argument('--no-sandbox')  # 解决DevToolsActivePort文件不存在报错问题
    chrome_options.add_argument('--disable-gpu')  # 禁用GPU硬件加速。如果软件渲染器没有就位,则GPU进程将不会启动。
    chrome_options.add_argument('--disable-dev-shm-usage')
    chrome_options.add_experimental_option('mobileEmulation', {'deviceName': 'iPhone X'})  # 模拟iPhone X浏览
    driver = webdriver.Chrome('chromedriver', options=chrome_options)
    driver.get(get_url)
    content = driver.page_source
    driver.quit()    return content

运行方法 

docker run -it -d -p  8081:80 --name  name hongjiang11/python-api:1.4

api 访问 

ip:8081/?url = 网址

//chrome 无头解析

ip:8081/chrome/?url = 网站


  1. 上一篇:centos7设置CPU的运行频率为performance
  2. 下一篇:Mate桌面安装Tela Circle图标以及Orchis主题
发表评论