Python-Bibliothek zum Scrapen von Daten und insbesondere Medienlinks wie Videos und Fotos aus vk.com-URLs.
Sie können es über die Befehlszeile oder als Python-Bibliothek verwenden, siehe Dokumentation .
Sie können die neueste Version von Pypi über pip install vk-url-scraper
installieren.
Derzeit müssen Sie eine Abhängigkeit manuell deinstallieren und neu installieren (da sie von Github und nicht von Pypi installiert wird):
pip uninstall vk-api
pip install git+https://github.com/python273/vk_api.git@b99dac0ec2f832a6c4b20bde49869e7229ce4742
Um die Bibliothek nutzen zu können, benötigen Sie eine gültige Kombination aus Benutzername und Passwort für 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
}
siehe [Dokumente] für alle verfügbaren Funktionen.
(Weitere Informationen unter CONTRIBUTING.md).
pip install -r dev-requirements.txt
oder pipenv install -r dev-requirements.txt
einpip install -r requirements.txt
oder pipenv install -r requirements.txt
einmake run-checks
(Fixes-Stil) oder einzelnblack .
und isort .
-> flake8 .
um Flusen zu validierenmypy .
pytest .
( pytest -v --color=yes --doctest-modules tests/ vk_url_scraper/
um Ausführlichkeit, Farben und Test-Docstring-Beispiele zu verwenden)make docs
, um Shpynx-Dokumente zu generieren -> bei Bedarf config.py bearbeiten Um die in main .py verfügbare Befehlszeilenschnittstelle zu testen, müssen Sie die Option -m
wie folgt an Python übergeben: python -m vk_url_scraper -u "" -p "" --urls ...
pipenv run pip freeze > requirements.txt
ausführen, wenn Sie Bibliotheken mit „pipenv“ verwaltenvk-api==11.9.9
../scripts/release.sh
aus, um ein Tag zu erstellen und zu pushengit tag vx.yz
zum Tag-Versiongit push origin vx.yz
-> Dies löst den Workflow aus und legt das Projekt auf Pypi abWenn der Release-Workflow von GitHub Actions aus irgendeinem Grund fehlschlägt und ein Fehler auftritt, der behoben werden muss, müssen Sie sowohl das Tag als auch die entsprechende Version von GitHub löschen. Nachdem Sie einen Fix gepusht haben, löschen Sie das Tag mit aus Ihrem lokalen Klon
git tag -l | xargs git tag -d && git fetch -t
Wiederholen Sie dann die oben genannten Schritte.