fastapi+vue搭建免費代理IP網站部署至heroku


說明

最近需要用到一些HTTP的代理,用於爬蟲去爬取信息,搜索了一些網站,貌似現在這類提供免費代理IP的網站很多,剛好最近看了點vue的視頻,弄個網站練練。

部署到heroku,預覽地址:點擊這里

FastAPI

  • 安裝相關依賴
pip install uvicorn fastapi requests bs4 jinja2 aiofiles
  • 一個簡單的函數爬取代理
def Spider(cat):
	url = '目標網站'
    headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}
    try:
        res = requests.get(url,headers=headers)
        res.encoding = "utf-8"
        soup = BeautifulSoup(res.text, 'html.parser')
        html = soup.select(’bs4‘)
        return html[0]
    except:
        return 'error'
  • 前台點擊按鈕觸發爬蟲,返回數據
@app.get("/{cat}")
async def regist(cat):
    if spider(ip) == 'error':
        return '服務器繁忙,暫時無法獲取IP,請稍后再試!<br> 需要購買收費服務可聯系:<a href="http://www.xhuosoft.cn">薪火代理</a>'
    return str(spider(ip))

VUE

  • 引用vue和axios
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.11/vue.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.19.2/axios.min.js"></script>
  • 按鈕觸發請求返回數據
@click 
  • 由於返回的數據是HTML格式的,這里直接用v-html

Heroku

  • 注冊賬號
  • 下載並安裝heroku-cli
  • 創建應用
  • 本地代碼
  • 上傳代碼

Profile 里面寫 web:uvicorn main:app之類即可

案例地址:998ip


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM