def test_ok(): info = extract(parse('https://ok.ru/profile/46054003')[0]) assert info.get('ok_id') == '46054003' info = extract(parse('https://ok.ru/andrey.ostashenya')[0]) assert info.get('ok_user_name_id') == 'andrey.ostashenya' assert info.get('ok_id') == '576861363171'
def test_pinterest_api(): info = extract( parse( 'https://www.pinterest.ru/resource/UserResource/get/?source_url=%2Fgergelysndorszendrenyi%2Fboards%2F&data=%7B%22options%22%3A%7B%22isPrefetch%22%3Afalse%2C%22username%22%3A%22gergelysndorszendrenyi%22%2C%22field_set_key%22%3A%22profile%22%7D%2C%22context%22%3A%7B%7D%7D&_=1599342485938' )[0]) assert info.get('pinterest_id') == '730849983187756836' assert info.get('pinterest_username') == 'gergelysndorszendrenyi' assert info.get('fullname') == 'Gergely Sándor-Szendrenyi' assert info.get('type') == 'user' assert info.get( 'image') == 'https://s.pinimg.com/images/user/default_280.png' assert info.get('country') == None assert info.get('is_indexed') == 'True' assert info.get('is_partner') == 'False' assert info.get('is_tastemaker') == 'False' assert info.get('is_indexed') == 'True' assert info.get('has_board') == 'True' assert info.get('has_board') == 'True' assert info.get('is_verified_merchant') == 'False' assert info.get( 'website') == 'https://plus.google.com/106803550602898494752' assert info.get('last_pin_save_datetime') is not None assert info.get('is_website_verified') == 'False' assert info.get('follower_count') == '2' assert info.get('group_board_count') == '0' assert info.get('following_count') == '16' assert info.get('board_count') == '11' assert int(info.get('pin_count')) > 100
def test_telegram(): info = extract(parse('https://t.me/BotFather')[0]) assert info.get('telegram_username') == 'BotFather' assert info.get( 'about' ) == 'BotFather is the one bot to rule them all. Use it to create new bot accounts and manage your existing bots.'
def test_yandex_music_user_profile(): info = extract( parse('https://music.yandex.ru/handlers/library.jsx?owner=pritisk')[0]) assert info.get('yandex_uid') == '16480689' assert info.get('username') == 'pritisk' assert info.get('name') == 'Юрий Притиск'
def test_twitter_api(): _, headers = get_twitter_headers({}) import logging logging.error(headers) info = extract( parse( 'https://twitter.com/i/api/graphql/ZRnOhhXPwue_JGILb9TNug/UserByScreenName?variables=%7B%22screen_name%22%3A%22cardiakflatline%22%2C%22withHighlightedLabel%22%3Atrue%7D', headers=headers)[0]) assert info.get('uid') == 'VXNlcjo0NTkyNjgxNg==' assert info.get('fullname') == 'Cardiak' assert info.get( 'bio' ) == '#Jersey Multi Platinum Grammy Award Winning Producer for J.Cole, DrDre,KendrickLamar, Eminem,MeekMill,RickRoss,Drake,Wale,Ace Hood,T.I,LloydBanks,Kanye,Fabolous' assert info.get('created_at') == '2009-06-09 19:59:57+00:00' assert info.get( 'image' ) == 'https://pbs.twimg.com/profile_images/745944619213557760/vgapfpjV.jpg' assert info.get( 'image_bg' ) == 'https://pbs.twimg.com/profile_banners/45926816/1487198278' assert info.get('is_protected') == 'False' assert info.get('links') == "['http://www.flatlinekits.com']" assert info.get('location') == 'Los Angeles, CA' assert 'follower_count' in info assert 'following_count' in info assert 'favourites_count' in info
def test_vk_user_profile_full(): info = extract(parse('https://vk.com/idsvyatoslavs')[0]) assert info.get('vk_id') == '134173165' assert info.get('vk_username') == 'idsvyatoslavs' assert info.get('fullname') in ('Святослав Степанов', 'Svyatoslav Stepanov')
def test_tproger(): info = extract(parse('https://tproger.ru/author/NickPrice/')[0]) assert info.get('fullname') == 'Никита Прияцелюк, последний центурион' assert info.get( 'image' ) == 'https://secure.gravatar.com/avatar/b6c7803b43433349ff84b11093562594?s=90&d=mm&r=g'
def test_steam(): info = extract( parse('https://steamcommunity.com/id/GabrielSantosMariano/')[0]) assert info.get('uid') == '76561198315585536' assert info.get('username') == 'GabrielSantosMariano' assert info.get('nickname') == 'Gabriel! Santos, Mariano.'
def test_yandex_znatoki_user_profile(): info = extract( parse('https://yandex.ru/q/profile/zftrw5fzczde6841qgmfn7d2ag/')[0]) assert info.get( 'yandex_znatoki_id') == '39eec711-5675-56b1-beb5-a1f393d2ee66' assert info.get('bio') == 'Любитель Nike, вебмастер' assert info.get('name') == 'Александр Яковлев' assert info.get('yandex_uid') == '52839599' assert info.get( 'image' ) == 'https://avatars.mds.yandex.net/get-yapic/39460/jNPmWopVPkXtTzVHWtuLfPxLq0U-1/islands-200' assert info.get('is_org') == 'False' assert info.get('is_banned') == 'False' assert info.get('is_deleted') == 'False' assert info.get('created_at') == '2019-04-08T16:23:37.576163+00:00' assert 'last_answer_at' in info assert 'rating' in info assert info.get('gender') == 'm' assert info.get('links') == "['https://nikefans.ru']" assert info.get('verified_categories') == "['спорт']" assert info.get('is_from_q') == 'False' # assert info.get('is_bad_or_shock') == 'False' assert info.get('is_excluded_from_rating') == 'False' assert info.get( 'teaser' ) == 'Люблю Nike, спорт и активный образ жизни. С 2013 года я изучаю все, что связано с брендом NIke, веду блог.' assert info.get('facebook_username') == 'nikefansru/' assert info.get('instagram_username') == 'nike.fans.russia' assert info.get('telegram_username') == 'nikefansru' assert info.get('vk_username') == 'nikejoy'
def test_behance(): info = extract(parse('https://www.behance.net/Skyratov', 'ilo0=1')[0]) assert info.get('uid') == '39065909' assert info.get('username') == 'Skyratov' assert info.get('last_name') == 'Skuratov' assert info.get('first_name') == 'Vasiliy'
def test_pinterest_api(): headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36' } info = extract( parse( 'https://www.pinterest.ru/resource/UserResource/get/?source_url=%2Fgergelysndorszendrenyi%2F_saved%2F&data=%7B%22options%22%3A%7B%22isPrefetch%22%3Atrue%2C%22field_set_key%22%3A%22profile%22%2C%22username%22%3A%22gergelysndorszendrenyi%22%2C%22no_fetch_context_on_resource%22%3Afalse%7D%2C%22context%22%3A%7B%7D%7D&_=1615737383499', headers=headers)[0]) assert info.get('pinterest_id') == '730849983187756836' assert info.get('pinterest_username') == 'gergelysndorszendrenyi' assert info.get('fullname') == 'Gergely Sándor-Szendrenyi' assert info.get('type') == 'user' assert info.get( 'image') == 'https://s.pinimg.com/images/user/default_280.png' assert info.get('country') == None assert info.get('is_indexed') == 'True' assert info.get('is_partner') == 'False' assert info.get('is_tastemaker') == 'False' assert info.get('is_indexed') == 'True' assert info.get('has_board') == 'True' assert info.get('has_board') == 'True' assert info.get('is_verified_merchant') == 'False' assert info.get( 'website') == 'https://plus.google.com/106803550602898494752' assert info.get('last_pin_save_datetime') is not None assert info.get('is_website_verified') == 'False' assert info.get('follower_count') == '2' assert info.get('group_board_count') == '0' assert info.get('following_count') == '16' assert info.get('board_count') == '11' assert int(info.get('pin_count')) > 100
def test_mssg(): info = extract(parse('https://mssg.me/mr.adam')[0]) assert info.get('fullname') == 'Mr.Adam' assert info.get('bio') == 'Бизнесмен' assert info.get('messengers') == "['whatsapp', 'messenger']" assert info.get('messenger_values') == "['+77026924715', 'adamcigelnik']"
def test_tproger(): info = extract(parse('https://tproger.ru/author/NickPrice/')[0]) assert info.get('fullname') == 'Никита Прияцелюк' assert info.get('image').startswith( 'https://secure.gravatar.com/avatar/b6c7803b43433349ff84b11093562594' ) == True
def test_medium(): info = extract(parse('https://medium.com/@lys1n', timeout=10)[0]) assert info.get('medium_id') == '4894fec6b289' assert info.get('medium_username') == 'lys1n' assert info.get('fullname') == 'Марк Лясин' assert info.get('twitter_username') == 'lys1n' assert info.get('is_suspended') == 'False'
def test_livejournal(): info = extract(parse('https://julia-klay.livejournal.com/')[0]) assert info.get('uid') == '83505610' assert info.get('name') == 'julia_klay' assert info.get('username') == 'julia_klay' assert info.get('is_personal') == 'True' assert info.get('is_community') == 'False'
def test_yandex_realty_offer_cookies(): cookies = open('yandex.test.cookies').read() info = extract( parse('https://realty.yandex.ru/offer/363951114410351104/', cookies)[0]) assert info.get('uid') == '86903473' assert info.get('name') == 'Севостьянова Мария Владимировна'
def test_last_fm(): info = extract(parse('https://www.last.fm/user/alex')[0]) assert info.get('fullname') == 'Alex' assert info.get('bio') == '• scrobbling since 21 Feb 2003' assert info.get( 'image' ) == 'https://lastfm.freetls.fastly.net/i/u/avatar170s/15e455555655c8503ed9ba6fce71d2d6.webp'
def test_habr(): info = extract(parse('https://habr.com/ru/users/m1rko/')[0]) assert info.get('uid') == '1371978' assert info.get('username') == 'm1rko' assert info.get( 'image' ) == 'http://habrastorage.org/getpro/habr/avatars/4ec/bd0/85d/4ecbd085d692835a931d03174ff19539.png'
def test_facebook_user_profile(): info = extract(parse('https://ru-ru.facebook.com/anatolijsharij/')[0]) assert info.get('uid') == '1486042157' assert info.get('username') == 'anatolijsharij' assert info.get('fullname') == 'Анатолий Шарий' assert info.get('is_verified') == 'True' assert 'image' in info assert 'image_bg' in info
def test_yandex_znatoki_user_profile(): info = extract( parse( 'https://yandex.ru/znatoki/user/e3795016-b18e-58ba-9112-21c301e53f37/' )[0]) assert info.get('uid') == 'e3795016-b18e-58ba-9112-21c301e53f37' assert info.get('yandex_uid') == '980797984' assert info.get('name') == 'Настя Рогозинская'
def test_google_documents_cookies(): cookies = open('google.test.cookies').read() info = extract( parse( 'https://docs.google.com/spreadsheets/d/1HtZKMLRXNsZ0HjtBmo0Gi03nUPiJIA4CC4jTYbCAnXw/edit#gid=0', cookies)[0]) assert info.get('org_domain') == 'breakoutcommerce.com' assert info.get('org_name') == 'Gooten'
def test_ask_fm(): info = extract(parse('https://ask.fm/sasha')[0]) assert info.get('username') == 'sasha' assert info.get('fullname') == 'Александр Чубаров' assert info.get('posts_count') == '18' assert info.get('likes_count') == '1.06 K' assert info.get('location') == 'Красноярск' assert 'image' in info
def test_gravatar(): info = extract(parse('https://en.gravatar.com/kostbebix.json')[0]) assert info.get('gravatar_id') == '17467145' assert info.get('username') == 'kostbebix' assert info.get('fullname') == 'kost BebiX' assert info.get('location') == 'Kiev, Ukraine' assert info.get('emails') == "['*****@*****.**']" assert info.get('links') == "['http://twitter.com/kost_bebix']"
def test_patreon(): info = extract(parse('https://www.patreon.com/annetlovart')[0]) assert info.get('patreon_id') == '33913189' assert info.get('patreon_username') == 'annetlovart' assert info.get('fullname') == 'Annet Lovart' assert info.get( 'links' ) == "['https://www.facebook.com/322598031832479', 'https://www.instagram.com/annet_lovart', 'https://twitter.com/annet_lovart', 'https://youtube.com/channel/UClDg4ntlOW_1j73zqSJxHHQ']"
def test_twitter_shadowban_no_account(): info = extract(parse('https://shadowban.eu/.api/sgfrgrrr')[0]) assert info.get('has_tweets') == 'False' assert info.get('is_exists') == 'False' assert info.get('username') == 'sgfrgrrr' assert not 'is_protected' in info assert not 'has_ban' in info assert not 'has_search_ban' in info assert not 'has_banned_in_search_suggestions' in info
def test_twitter_shadowban(): info = extract(parse('https://shadowban.eu/.api/trump')[0]) assert info.get('has_tweets') == 'True' assert info.get('is_exists') == 'True' assert info.get('username') == 'Trump' assert info.get('is_protected') == 'False' assert info.get('has_ban') == 'False' assert info.get('has_search_ban') == 'False' assert info.get('has_banned_in_search_suggestions') == 'False'
def test_yandex_o_user_profile(): info = extract( parse('https://o.yandex.ru/profile/9q4zmvn5437umdqqyge3tp3vpr/')[0]) assert info.get('yandex_public_id') == '9q4zmvn5437umdqqyge3tp3vpr' assert info.get('fullname') == 'ТВОЙ-СЕЙФ' assert info.get( 'image' ) == 'https://avatars.mds.yandex.net/get-yapic/64336/enc-0f3ec480eef5850e5ff4e08522ebb6639b998592a4246af4df656b59d2d95fd8/islands-retina-50' assert info.get('score') == 'Ten'
def test_deviantart(): info = extract(parse('https://www.deviantart.com/muse1908')[0]) assert info.get('country') == 'France' assert '2005-06-16' in info.get('created_at') assert info.get('gender') == 'female' assert info.get('website') == 'www.purelymuse.com' assert info.get('username') == 'Muse1908' assert info.get('links') == "['https://www.instagram.com/muse.mercier/']" assert info.get('tagline') == 'Nothing worth having is easy...'
def test_tumblr(): info = extract(parse('https://alexaimephotography.tumblr.com/')[0]) assert info.get('fullname') == 'Alex Aimé Photography' assert info.get( 'title' ) == 'My name is Alex Aimé, and i am a freelance photographer. Originally from Burgundy in France .I am a man of 29 years. Follow me on : www.facebook.com/AlexAimePhotography/' assert info.get( 'links' ) == "['https://www.facebook.com/AlexAimePhotography/', 'https://500px.com/alexaimephotography', 'https://www.instagram.com/alexaimephotography/', 'https://www.flickr.com/photos/photoambiance/']"
def test_launchpad(): info = extract(parse('https://launchpad.net/~antony')[0]) assert info.get('fullname') == 'Genelyk' assert info.get('username') == 'antony' assert info.get('languages') == 'Spanish' assert info.get('karma') == '0' assert info.get('created_at') == '2007-05-17' assert info.get('timezone') == 'America/Lima (UTC-0500)' assert info.get( 'openpgp_key') == '62FCE94A1E7871FBFE81F10AB9579C368DD41DF8'