**Creator(s):**
- Renan de Souza Rodrigues
- vjbots
**Summary:**
- web scrape utilizando playwright para dados de views do tiktok
- Salva dados de sessão para um navegador não anonimo e os carrega
**Observações:**
- não precisa se utilizar o `load_data_session` para se chamar a função `fetch_artist` pois por si só já chama o metodo em sua assinatura
- `.class`, `xpaths `e `#selector_css `podem mudar de browser para browser, recomento sobescrever a lib caso haja algum erro em algum desses
**Salvar dados de sessão para logar no browser com dados já inicializados**
```
with sync_playwright() as p:
navegador = p.chromium.launch(headless=False)
contexto = navegador.new_context()
# Realiza login ou outras ações que criam uma sessão
pagina = contexto.new_page()
pagina.goto('https://exemplo.com')
# Salva os dados da sessão em um arquivo
save_data_session(contexto, 'sessao.json')
navegador.close()
```
**Carregar dados de sessão no browser**
```
from playwright.sync_api import sync_playwright
from vjscraper_tk import fetch_artist,load_data_session
with sync_playwright() as p:
navegador = p.chromium.launch(headless=False)
contexto = navegador.new_context() # Carrega os dados da sessão
load_data_session(contexto, 'sessao.json') # Abre uma nova página com os dados da sessão carregados
pagina = contexto.new_page()
pagina.goto('https://exemplo.com')
navegador.close()
views = fetch_artist(artists.get("@pefilofficial"),'session.json',15)
for i,view in enumerate(views):
print('count views {i}º: {view}')
```
**Get started**
```
import time
from vjscraper_tk import fetch_artist
from vjscraper_tk.datas_user import save_data_session
from playwright.sync_api import sync_playwright
# primeira vez deve se salvar os dados de sessão
with sync_playwright() as p:
browser = p.chromium.launch(headless=False)
context=browser.new_context()
pg = context.new_page()
pg.goto('https://www.tiktok.com/')
time.sleep(30)
save_data_session(context,'./sessao.json')
results = fetch_artist("@perfiloficial", "./sessao.json")
i = 1
for result in results:
print(f"video {i}: {result}")
i += 1
```
Raw data
{
"_id": null,
"home_page": null,
"name": "vjscraper-tk",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "vjscraper, tiktok, tiktok-scraper, vjscraper-tk",
"author": "Renan de Souza Rodrigues",
"author_email": "renanrodrigues7110@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/7b/64/6348d4b6bc417604b8fc5a3af2e39c5c57bed4cad13e53cc9347c92ce477/vjscraper_tk-0.0.2.tar.gz",
"platform": null,
"description": "**Creator(s):**\r\n\r\n- Renan de Souza Rodrigues\r\n- vjbots\r\n\r\n**Summary:**\r\n\r\n- web scrape utilizando playwright para dados de views do tiktok\r\n- Salva dados de sess\u00e3o para um navegador n\u00e3o anonimo e os carrega\r\n\r\n**Observa\u00e7\u00f5es:**\r\n\r\n- n\u00e3o precisa se utilizar o `load_data_session` para se chamar a fun\u00e7\u00e3o `fetch_artist` pois por si s\u00f3 j\u00e1 chama o metodo em sua assinatura\r\n- `.class`, `xpaths `e `#selector_css `podem mudar de browser para browser, recomento sobescrever a lib caso haja algum erro em algum desses\r\n\r\n**Salvar dados de sess\u00e3o para logar no browser com dados j\u00e1 inicializados**\r\n\r\n```\r\n with sync_playwright() as p:\r\n navegador = p.chromium.launch(headless=False)\r\n contexto = navegador.new_context()\r\n\r\n # Realiza login ou outras a\u00e7\u00f5es que criam uma sess\u00e3o\r\n pagina = contexto.new_page()\r\n pagina.goto('https://exemplo.com')\r\n\r\n # Salva os dados da sess\u00e3o em um arquivo\r\n save_data_session(contexto, 'sessao.json')\r\n\r\n navegador.close()\r\n```\r\n\r\n**Carregar dados de sess\u00e3o no browser**\r\n\r\n```\r\nfrom playwright.sync_api import sync_playwright\r\nfrom vjscraper_tk import fetch_artist,load_data_session\r\n\r\nwith sync_playwright() as p:\r\n navegador = p.chromium.launch(headless=False)\r\n contexto = navegador.new_context() # Carrega os dados da sess\u00e3o\r\n load_data_session(contexto, 'sessao.json') # Abre uma nova p\u00e1gina com os dados da sess\u00e3o carregados\r\n pagina = contexto.new_page()\r\n pagina.goto('https://exemplo.com')\r\nnavegador.close()\r\n\r\nviews = fetch_artist(artists.get(\"@pefilofficial\"),'session.json',15)\r\n\r\nfor i,view in enumerate(views):\r\n\tprint('count views {i}\u00ba: {view}')\r\n```\r\n\r\n**Get started**\r\n\r\n```\r\nimport time\r\nfrom vjscraper_tk import fetch_artist\r\nfrom vjscraper_tk.datas_user import save_data_session\r\nfrom playwright.sync_api import sync_playwright\r\n\r\n# primeira vez deve se salvar os dados de sess\u00e3o\r\nwith sync_playwright() as p:\r\n browser = p.chromium.launch(headless=False)\r\n context=browser.new_context()\r\n pg = context.new_page()\r\n pg.goto('https://www.tiktok.com/')\r\n time.sleep(30)\r\n save_data_session(context,'./sessao.json')\r\n\r\nresults = fetch_artist(\"@perfiloficial\", \"./sessao.json\")\r\ni = 1\r\nfor result in results:\r\n print(f\"video {i}: {result}\")\r\n i += 1\r\n```\r\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "Scraper de views do TikTok",
"version": "0.0.2",
"project_urls": null,
"split_keywords": [
"vjscraper",
" tiktok",
" tiktok-scraper",
" vjscraper-tk"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7b646348d4b6bc417604b8fc5a3af2e39c5c57bed4cad13e53cc9347c92ce477",
"md5": "493ace8996d0562e0bcf21cd4ceeee7b",
"sha256": "e001e093fac17ce0264aaf7016f1497d41d9b385242f5c9962e9bdce86784c1b"
},
"downloads": -1,
"filename": "vjscraper_tk-0.0.2.tar.gz",
"has_sig": false,
"md5_digest": "493ace8996d0562e0bcf21cd4ceeee7b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4307,
"upload_time": "2024-09-17T16:30:05",
"upload_time_iso_8601": "2024-09-17T16:30:05.343227Z",
"url": "https://files.pythonhosted.org/packages/7b/64/6348d4b6bc417604b8fc5a3af2e39c5c57bed4cad13e53cc9347c92ce477/vjscraper_tk-0.0.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-17 16:30:05",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "vjscraper-tk"
}