说明
最近需要用到一些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