• 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

  • 相关阅读:
    时间操作
    2021.10.9数据结构实验课作业
    2021.9.28数据结构实验课作业
    2021.9.15数据结构实验课作业
    2021.9.7数据结构实验课作业
    苹果ios开发,CocoaPods安装方法-2021/9/11
    写组件库文档常用的技术
    document.execCommand 的用法
    手写JSON.stringify
    Object常用方法
  • 原文地址:https://www.cnblogs.com/aosky/p/14017709.html
Copyright © 2020-2023  润新知