Type/to search
8
Follow
1364
Followers
Eine vorläufige Studie zur Anwendung des Python-Crawlers auf der FMZ-Plattform - Crawling von Binance-Ankündigungsinhalten
Discussions
Created 2021-11-12 17:08:26  Updated 2024-12-04 21:18:45
 15
 4338

img

Eine vorläufige Studie zur Anwendung des Python-Crawlers auf der FMZ-Plattform - Crawling von Binance-Ankündigungsinhalten

Ich habe mir kürzlich die Community und die Bibliothek angesehen und keine relevanten Informationen zu Python-Crawlern gefunden, die auf dem Geist der umfassenden Entwicklung als QUANT basieren. Ich habe die Konzepte und Kenntnisse im Zusammenhang mit Crawlern sehr einfach erlernt. Nachdem ich mehr darüber erfahren hatte, stellte ich fest, dass die „Crawler-Technologie“ eine ziemlich große „Falle“ ist. Dieser Artikel ist nur eine vorläufige Erkundung der „Crawler-Technologie“. Lassen Sie uns die einfachste Übung der Crawler-Technologie auf der quantitativen Handelsplattform FMZ durchführen.

brauchen

Händler, die gerne in neue Münzen investieren, hoffen immer, so schnell wie möglich Informationen über die Notierung der Münzen an der Börse zu erhalten. Es ist offensichtlich unrealistisch, die Website der Börse manuell im Auge zu behalten. Anschließend müssen Sie mithilfe eines Crawler-Skripts die Ankündigungsseite der Börse überwachen und neue Ankündigungen erkennen, damit Sie schnellstmöglich benachrichtigt und daran erinnert werden können.

Erste Erkundung

Lassen Sie uns als Ausgangspunkt ein sehr einfaches Programm verwenden (ein wirklich leistungsfähiges Crawler-Skript ist viel komplizierter, also lassen Sie sich Zeit). Die Programmlogik ist sehr einfach: Das Programm greift kontinuierlich auf die Ankündigungsseite der Börse zu, analysiert den erhaltenen HTML-Inhalt und erkennt, ob der Inhalt eines bestimmten Tags aktualisiert wird.

Implementierungscode

Sie können einige nützliche Crawler-Frameworks verwenden. Da die Anforderung jedoch sehr einfach ist, ist es auch möglich, sie direkt zu schreiben.

Es werden Python-Bibliotheken benötigt:
requests, das einfach als eine Bibliothek zum Zugriff auf Webseiten verstanden werden kann.
bs4, was einfach als eine Bibliothek zum Parsen des HTML-Codes einer Webseite verstanden werden kann.

Code:

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)

laufen

img

img

Es kann sogar erweitert werden, um beispielsweise zu erkennen, wann eine neue Ankündigung erscheint. Analysieren Sie die neuen Währungen in der Ankündigung und erteilen Sie automatisch Aufträge für neue Transaktionen.

Related Recommendations
Comment
All comments (15)

    Traceback (most recent call last): File "<string>", line 999, in init_ctx File "<string>", line 1, in <module> ModuleNotFoundError: No module named 'bs4'
    复制代码到实盘提示错误,是不是缺失python的库。怎么添加库到托管着呢。

    4 years ago

    托管者所在系统的python 安装用到的所有包就可以了。

    4 years ago

    但是怎么安装呢。。。不会安装。

    4 years ago

    可以百度下python安装库/包。有很多教程。

    4 years ago

    我搜了会在自己电脑安装,我想问怎么在租的托管者上安装呢

    4 years ago

    一键部署的托管者,服务器是有限权限,无法安装。用自己租的服务器可以,登录上服务器安装即可。

    4 years ago

    GetAccount: 503: {"code":"50001","data":[],"msg":"Service temporarily unavailable, please try again later. "}
    我换了自己租的服务器了。原来的实盘换成这个服务器就报这个错,是因为服务器通信有问题吗?

    4 years ago

    交易所的问题,可以重试看看。

    4 years ago

    作者你好,我也写了一个爬币安公告的爬虫,不管是用那个api接口还是主页的爬虫都有30s延迟,不知道你有没有解决这个问题,可以交流下吗,我的vx ShawnQiang1125

    4 years ago

    老哥,你的这个策略我有个问题就是,币安公告出消息了能不能第一时间爬取到,我经过测试发现只是有30多秒的延迟。

    5 years ago

    策略里做了轮询间隔,间隔10秒检测一次。访问某个页面太频繁了估计也不行。。

    5 years ago

    我之前用 selenium + chrome 也抓过火币的公告,还附带公告截图

    5 years ago

    老哥 666,可以多发帖子交流哇!

    5 years ago

    我才玩fmz没多久,看了很多你的帖子,分享了很多干货出来,挺棒的,有机会多交流

    5 years ago

    好的,感谢支持FMZ。

    5 years ago
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)