Biblioteca Python para extrair dados, especialmente links de mídia como vídeos e fotos, de URLs vk.com.
Você pode usá-lo via linha de comando ou como uma biblioteca python, verifique a documentação .
Você pode instalar a versão mais recente do pypi via pip install vk-url-scraper
.
Atualmente você precisa desinstalar e reinstalar manualmente uma dependência (já que ela é instalada no github e não no pypi):
pip uninstall vk-api
pip install git+https://github.com/python273/vk_api.git@b99dac0ec2f832a6c4b20bde49869e7229ce4742
Para usar a biblioteca, você precisará de uma combinação válida de nome de usuário/senha para 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
}
veja [docs] para todas as funções disponíveis.
(mais informações em 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
(estilo de correções) ou individualmenteblack .
e isort .
-> flake8 .
para validar lintmypy .
pytest .
( pytest -v --color=yes --doctest-modules tests/ vk_url_scraper/
para usar exemplos detalhados, de cores e de documentação de teste)make docs
para gerar documentos shpynx -> edite config.py se necessário Para testar a interface de linha de comando disponível em main .py você precisa passar a opção -m
para python assim: python -m vk_url_scraper -u "" -p "" --urls ...
pipenv run pip freeze > requirements.txt
se você gerencia bibliotecas com pipenvvk-api==11.9.9
../scripts/release.sh
para criar uma tag e enviar push, alternativamentegit tag vx.yz
para marcar a versãogit push origin vx.yz
-> isso irá acionar o fluxo de trabalho e colocar o projeto no pypiSe por algum motivo o fluxo de trabalho de lançamento do GitHub Actions falhar com um erro que precisa ser corrigido, você terá que excluir a tag e a versão correspondente do GitHub. Depois de enviar uma correção, exclua a tag do seu clone local com
git tag -l | xargs git tag -d && git fetch -t
Em seguida, repita os passos acima.