最近看了一下社区、文库里还没有关于Python爬虫的相关资料,基于作为一个QUANT全面发展的精神。非常非常浅显的学习了一下爬虫相关的概念和知识。了解一番之后发现「爬虫技术」这个“坑”还挺大,本篇只是作为初探「爬虫技术」。在FMZ量化交易平台上关于爬虫技术做一个最最简单的实践。
对于喜欢打新的交易者,总是希望在第一时间获取交易所上币信息。人工一直盯着交易所网站显然不现实。那么就需求使用爬虫脚本监控交易所公告页面,检测新的公告以便在第一时间得到通知、提醒。
用一个非常简单的程序来作为入门(真正的强大的爬虫脚本远远复杂的多,先慢慢来)。程序逻辑十分简单,就是让程序不停的访问交易所的公告页面,解析获取的HTML内容,检测特定的标签内容是否更新。
可以用一些好用的爬虫框架。不过考虑到需求很简单,直接编写也可以。
需要用到python的库:requests,可以简单理解为用来访问网页的库。bs4,可以简单理解为用来解析网页HTML代码的库。
代码:
from bs4 import BeautifulSoup
import requests
urlBinanceAnnouncement = \"https://www.binancezh.io/en/support/announcement/c-48?navId=48\" # 币安公告页面地址
def openUrl(url):
headers = {\'User-Agent\': \'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36\'}
r = requests.get(url, headers=headers) # 使用requests库访问url,即币安的公告网页地址
if r.status_code == 200:
r.encoding = \'utf-8\'
# Log(\"success! {}\".format(url))
return r.text # 访问成功的话返回网页内容文本
else:
Log(\"failed {}\".format(url))
def main():
preNews_href = \"\"
lastNews = \"\"
Log(\"watching...\", urlBinanceAnnouncement, \"#FF0000\")
while True:
ret = openUrl(urlBinanceAnnouncement)
if ret:
soup = BeautifulSoup(ret, \'html.parser\') # 把网页文本解析为对象
lastNews_href = soup.find(\'a\', class_=\'css-1ej4hfo\')[\"href\"] # 查找特定的标签,获取href
lastNews = soup.find(\'a\', class_=\'css-1ej4hfo\').get_text() # 获取这个标签中的内容
if preNews_href == \"\":
preNews_href = lastNews_href
if preNews_href != lastNews_href: # 检测到标签发生变动,即有新的公告产生
Log(\"New Cryptocurrency Listing update!\") # 打印提示信息
preNews_href = lastNews_href
LogStatus(_D(), \"\\n\", \"preNews_href:\", preNews_href, \"\\n\", \"news:\", lastNews)
Sleep(1000 * 10)



![]()
甚至可以再加以扩展,例如检测到有新公告出现。分析公告中上新的币种,自动下单打新交易。
买好币上币库:https://www.kucoin.com/r/1f7w3
上一篇:FMZ量化交易APP使用快速入门
下一篇:TON 币的矿池有哪些?