Bibliothèque Python pour récupérer des données, et en particulier des liens multimédias comme des vidéos et des photos, à partir des URL vk.com.
Vous pouvez l'utiliser via la ligne de commande ou comme bibliothèque python, consultez la documentation .
Vous pouvez installer la version la plus récente de pypi via pip install vk-url-scraper
.
Actuellement, vous devez désinstaller et réinstaller manuellement une dépendance (car elle est installée à partir de github et non de pypi) :
pip uninstall vk-api
pip install git+https://github.com/python273/vk_api.git@b99dac0ec2f832a6c4b20bde49869e7229ce4742
Pour utiliser la bibliothèque, vous aurez besoin d'une combinaison nom d'utilisateur/mot de passe valide pour vk.com.
# run this to learn more about the parameters
vk_url_scraper --help
# scrape a URL and get the JSON result in the console
vk_url_scraper --username " username here " --password " password here " --urls https://vk.com/wall12345_6789
# OR
vk_url_scraper -u " username here " -p " password here " --urls https://vk.com/wall12345_6789
# you can also have multiple urls
vk_url_scraper -u " username here " -p " password here " --urls https://vk.com/wall12345_6789 https://vk.com/photo-12345_6789 https://vk.com/video12345_6789
# you can pass a token as well to avoid always authenticating
# and possibly getting captcha prompts
# you can fetch the token from the vk_config.v2.json file generated under by searching for "access_token"
vk_url_scraper -u " username " -p " password " -t " vktoken goes here " --urls https://vk.com/wall12345_6789
# save the JSON output into a file
vk_url_scraper -u " username here " -p " password here " --urls https://vk.com/wall12345_6789 > output.json
# download any photos or videos found in these URLS
# this will use or create an output/ folder and dump the files there
vk_url_scraper -u " username here " -p " password here " --download --urls https://vk.com/wall12345_6789
# or
vk_url_scraper -u " username here " -p " password here " -d --urls https://vk.com/wall12345_6789
from vk_url_scraper import VkScraper
vks = VkScraper ( "username" , "password" )
# scrape any "photo" URL
res = vks . scrape ( "https://vk.com/photo1_278184324?rev=1" )
# scrape any "wall" URL
res = vks . scrape ( "https://vk.com/wall-1_398461" )
# scrape any "video" URL
res = vks . scrape ( "https://vk.com/video-6596301_145810025" )
print ( res [ 0 ][ "text" ]) # eg: -> to get the text from code
# Every scrape* function returns a list of dict like
{
"id" : "wall_id" ,
"text" : "text in this post" ,
"datetime" : utc datetime of post ,
"attachments" : {
# if photo, video, link exists
"photo" : [ list of urls with max quality ],
"video" : [ list of urls with max quality ],
"link" : [ list of urls with max quality ],
},
"payload" : " original JSON response converted to dict which you can parse for more data
}
voir [docs] pour toutes les fonctions disponibles.
(plus d'informations dans CONTRIBUTING.md).
pip install -r dev-requirements.txt
ou pipenv install -r dev-requirements.txt
pip install -r requirements.txt
ou pipenv install -r requirements.txt
make run-checks
(style de correctifs) ou individuellementblack .
et isort .
-> flake8 .
pour valider les peluchesmypy .
pytest .
( pytest -v --color=yes --doctest-modules tests/ vk_url_scraper/
pour utiliser des exemples verbeux, de couleurs et de docstring de test)make docs
pour générer des documents shpynx -> modifier config.py si nécessaire Pour tester l'interface de ligne de commande disponible dans le .py principal , vous devez transmettre l'option -m
à python comme ceci : python -m vk_url_scraper -u "" -p "" --urls ...
pipenv run pip freeze > requirements.txt
si vous gérez les bibliothèques avec pipenvvk-api==11.9.9
../scripts/release.sh
pour créer une balise et pousser, alternativementgit tag vx.yz
pour baliser la versiongit push origin vx.yz
-> cela déclenchera le workflow et mettra le projet sur pypiSi, pour une raison quelconque, le workflow de publication de GitHub Actions a échoué avec une erreur qui doit être corrigée, vous devrez supprimer à la fois la balise et la version correspondante de GitHub. Après avoir appliqué un correctif, supprimez la balise de votre clone local avec
git tag -l | xargs git tag -d && git fetch -t
Répétez ensuite les étapes ci-dessus.