Convex-Labs / honestnft-shenanigans

HonestNFT Shenanigan Scanning Tools
https://honestnft-shenanigans.readthedocs.io/
MIT License
176 stars 70 forks source link

Scrape OpenSea for "suspicious" NFTs and accounts which are disabled for trading #86

Closed nickbax closed 2 years ago

nickbax commented 2 years ago

It would be nice to have a script which scrapes OpenSea for NFTs which were "reported for suspicious activity". NFTs with this flag can't be traded on OpenSea.

BAYC #4329 is an example of this. image

I think the ideal format for this is a simple script that iterates through each NFT in a collection and checks if the NFT has the flag. I suspect it can just be done with the requests module. Someone please tell me if there's a reason it requires something better such as selenium.

Additionally, it should be possible to scrape a partial list of "compromised accounts" at the same time. image

I don't think there is a good way to get a full list of accounts which have the compromised label from OpenSea, but again please correct me if anybody knows of a way.

If anyone already has code for this function, with some basic exception handling, please make a PR. If not I'll put this issue on Gitcoin next week.

update: Please don't use selenium (installing webdrivers is annoying). This cloudscraper package worked nicely for bypassing issues caused by Cloudflare. image

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 1 day, 6 hours from now. Please review their action plans below:

1) tanas0 has been approved to start work.

Scrape OpenSEA NFTs to build a list of suspicious NFTs Scrape these NFTs history of transfers for accounts with suspicious activity

Learn more on the Gitcoin Issue Details page.

nickbax commented 2 years ago

Hey erickruiz29, Thanks a lot for taking this on.

Two separate CSVs would be ideal. One CSV with two columns, "isMarkedSuspicious" and "contractAddress" (contractAddress is the same for every row). Second CSV, for now, is just "address" for every address you encounter which isCompromised, and the contractAddress and tokenID of the NFT where you scraped it.

Let me know if it's unclear and thanks again!

mitesh-mutha commented 2 years ago

Is this task available - I ask since this issue is open and has not been assigned on Gitcoin or here? I have experience scraping using Python. Would love to work on this - in case it is still open and available.

gitcoinbot commented 2 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work for 0.28 ETH (480.07 USD @ $1714.53/ETH) has been submitted by:

  1. @tanas0

@nickbax please take a look at the submitted work:


nickbax commented 2 years ago

We had trouble with the Gitcoin front end so sent the payment manually from the honestnft.eth multi-sig: https://etherscan.io/tx/0xcd2554f95954f5fde94aa814e38900fd3ab094e593a5d0bbd9f88482412b5c39

Thanks a lot @tanas0!