OpenSea NFT 스크레이퍼
개요
OpenSea에는 많은 NFT 사진이 있습니다. 긁는 방법을 배우는 좋은 예입니다. 다른 일반적인 정적 웹 사이트와 비교할 때 OpenSea의 사진은 무한 스크롤과 함께 동적 로딩입니다. 사진이 화면에 있으면 로드 중이며 사라집니다.
화면 밖에 있을 때.
클릭늄
Clicknium은 Python 자동화 라이브러리이며 이러한 종류의 스크래핑 작업을 매우 쉽게 수행할 수 있습니다. Python 라이브러리 이상이지만 VS Code 플러그인 및 브라우저 플러그인을 사용하여 매끄럽고 대화식 코딩 경험을 제공합니다.
요구 사항
어떻게
예를 들어 긁어 봅시다 Okay Bear.
그림 정보
다음 그림에서 볼 수 있습니다.
사진 캡처
이 시나리오에서는 유사한 요소를 캡처하는 것이 매우 쉽습니다.
Similar elements
을 클릭합니다.이 방법을 사용하여 가격을 캡처할 수도 있습니다.
스크롤을 처리하여 사진 로드
Clicknium은 마우스와 키보드를 제어하기 위한 API를 제공합니다. 이 시나리오에서는 Page-down이 가장 쉬운 방법입니다. HotKey에 대해 자세히 알아보기
clicknium.send_hotkey("{PGDN}")
사진 다운로드
사용 요청(
pip install requests
)소스 코드:
Github: OpenSeaScraper
import requests
from time import sleep
from clicknium import clicknium as cc, locator
def main():
cc.chrome.open("https://opensea.io/collection/okay-bears")
nftDic = {}
while True:
newDic = {}
finish = True
sleep(4)
nfts = cc.find_elements(locator.sample.opensea.img_okay_bear)
for nft in nfts:
src = nft.get_property("src")
name = nft.get_property("alt")
if name not in nftDic:
newDic[name]=src
finish = False
for key,value in newDic.items():
r = requests.get(value)
print("Downloading:"+ key)
imagePath = ".\\image\\" + key + ".jpg"
with open(imagePath,'wb') as f:
f.write(r.content)
nftDic = nftDic | newDic
if finish:
break
else:
print("next page")
cc.send_hotkey("{PGDN}")
if __name__ == "__main__":
main()
더 많은 샘플:
Reference
이 문제에 관하여(OpenSea NFT 스크레이퍼), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kayyolo/opensea-nft-scraper-1n3k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)