Coder Social home page Coder Social logo

minicrawler's Introduction

How to run it

MiniCrawler is a scalable and open source WeChat mini-app crawler, it contains two parts:

Xposed Plugin: Extracting data (cookie) from WeChat to initialize the mini-app metadata crawler, and injecting downloading commands to WeChat.

Metadata Crawler: Using keywords and cookie to send mini-app query messages to WeChat server and retrieve mini-app metadata.

How to run it

Crawl Mini-app Metadata

  1. Install Xposed and WeChat 7.0.19 on your phone.
  2. Compile and install XposedPlugin, and enable it on Xposed.
  3. Run adb logcat | grep WechatSearchToken in terminal.
  4. Use Wechat to search for mini-apps with any keyword.
  5. In the terminal, you will find string HTTP_GET_DATA in format begid=0&longitude=-...&latitude=...&client_version=...&query=...&.... Replace the content of query with %%QUERY%% and put the string in file httpGetData.txt
  6. Prepare the initial keywords that you want to search for mini-apps to file defaultWords.txt(one keyword per line).
  7. Run script main.py, it will search for mini-app metadata and save them to a created database file data.db

Download Mini-apps

  1. Install Xposed and WeChat 7.0.20 on your phone.
  2. Compile and install XposedPlugin, and enable it on Xposed.
  3. Open any mini-app in WeChat.
  4. For each mini-app you want download, prepare its appid (such as wx5054764a3fdfb3b5) which can be found in data.db.
  5. Run command adb shell am broadcast -a android.intent.myper --es appid "wx5054764a3fdfb3b5", and the WeChat will download this mini-app and save its version information and downloading URL to /sdcard/apps.txt

Citation

If you create a research work that uses our work, please cite our paper:

@article{zhang2021measurement,
  title={A Measurement Study of Wechat Mini-Apps},
  author={Zhang, Yue and Turkistani, Bayan and Yang, Allen Yuqing and Zuo, Chaoshun and Lin, Zhiqiang},
  journal={Proceedings of the ACM on Measurement and Analysis of Computing Systems},
  volume={5},
  number={2},
  pages={1--25},
  year={2021},
  publisher={ACM New York, NY, USA}
}

minicrawler's People

Contributors

cszuo avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.