Crawl your personal favorite images, photo albums, comics from website.
- Not ready for production.
- Appropriately reduce the crawling speed in the future and provide options to set performance, but your account is still at risk of being disabled by the website.
- instagram.com
- pixiv.net (crawl your liked illust, must login), Thanks for project PixivPy.
- yande.re (crawl your voted posts, require your username)
- nhentai.net (crawl your favorite comics, must login)
- twitter.com (crawl your liked posts, must login)
- Python3.10+
pip install -U favorites_crawler
# on Windows
set https_proxy=http://localhost:8080 # replace with your proxy server
# on Liunx/macOS
export https_proxy=http://localhost:8080
favors login --help
- Run command
favors login pixiv
- Pixiv login page will open in browser, input username and password, then press login button.
-
Get your access_token and refresh_token by gppt
gppt l -u your_email -p your_password
-
Get your user_id (Access your pixiv personal page, copy from address bar)
-
Open config file located in
{your_user_home}/.favorites_crawler/config.yml
, put access_token, refresh_token and user_id in this filepixiv: ACCESS_TOKEN: xxxxxxxxxxxxxxxxxxxxxxxxxxxx REFRESH_TOKEN: xxxxxxxxxxxxxxxxxxxxxxxxxxxx USER_ID: xxxx
run command:
favors login yandere -u {username}
- Get User-Agent and Cookie File
- Open nhentai and login.
- Open dev console (F12) and switch to network tab.
- Open any comic.
- Copy user-agent from any request.
- Use "Get cookies.txt" browser extension download cookie file.
- Execute command:
favors login nhentai -u "{User-Agent}" -c "{Cookie File}"
- Get Authorization, X-Csrf-Token RequestURL and Cookie File
- Open x.com and login, get to your "Likes" page
- Open dev console (F12) and switch to network tab.
- Enable persistent logging ("Preserve log").
- Type into the filter field: Likes?
- Refresh Page.
- Copy Authorization, X-Csrf-Token and RequestURL from request(Likes?variables...)
- Use "Get cookies.txt" browser extension download cookie file.
- Execute command:
favors login x -at "{Authorization}" -ct "{X-Csrf-Token}" -u "{RequestURL}" -c "{Cookie File}"
Example:
favors login x -at "Bearer AAAAAAAAAAAAA..." -ct ... -u "https://x.com/i/api/graphql/.../Likes?..." -c "C:\Users\xxx\Downloads\x.com_cookies.txt"
Note: Request URL will make the entire command very long. If you cannot enter such a long command in the macOS terminal, you can write the command in a sh file and execute it.
favors crawl --help
Before run this command, make sure you are already login.
favors crawl pixiv
Before run this command, make sure you are already login.
favors crawl yandere
Before run this command, make sure you are already login.
favors crawl nhantai
Before run this command, make sure you are already login.
favors crawl twitter
Config file config.yml
locate on FAVORS_HOME
,
by default FAVORS_HOME
is {your_home}/.favorites_crawler
.
You can change FAVORS_HOME
by set environment variable.
You can set any scrapy built-in settings in this file.
By default, file content likes this:
global:
ENABLE_ORGANIZE_BY_ARTIST: true
pixiv:
ACCESS_TOKEN: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
REFRESH_TOKEN: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
USER_ID: xxxx
yandere:
USERNAME: xxxx
By default, pictures will download to ${FAVORS_HOME}/{site_name}
If you want to change download location, you can update FILES_STORE.
For example, if you want save pixiv files to pictures/a
, and want save yandere files to pictures/b
, you can modify config file like this:
pixiv:
ACCESS_TOKEN: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
REFRESH_TOKEN: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
USER_ID: xxxx
FILES_STORE: pictures/a
yandere:
USERNAME: xxxx
FILES_STORE: pictures/b
if you want to organize pixiv and yandere files by artist, add this line to your config:
global:
ENABLE_ORGANIZE_BY_ARTIST: true
only support pixiv, yandere and twitter.
global:
ENABLE_WRITE_IPTC_KEYWORDS: true
EXIF_TOOL_EXECUTABLE: '<Path to your exiftool executable>' # default None, If the executable is not in the path, set it manually
$ favors restore yandere -h
usage: favors restore yandere [-h] -s {0,1,2,3} -t CSRF_TOKEN -c COOKIE path
positional arguments:
path The location of the post to vote. (Sub-folders are ignored)
optional arguments:
-h, --help show this help message and exit
-s {0,1,2,3}, --score {0,1,2,3}
Set 1, 2 or 3 to vote, 0 to cancel vote.
-t CSRF_TOKEN, --csrf-token CSRF_TOKEN
CSRF token. To get it:
1. Open your browser DevTools.
2. Switch to network tab.
3. Vote any post on yandere.
4. Copy x-csrf-token value from request headers.
-c COOKIE, --cookie COOKIE
Cookie. To get it:
1. Open your browser DevTools.
2. Switch to network tab.
3. Vote any post on yandere.
4. Copy cookie value from request headers.
Example:
favors restore yandere -s 3 -t "xxxx" -c "xx=x; xx=x; xx=x" .