Salut à tous,
Je m’amuse à scraper EUROPAGES en ce moment, mais effectivement avec 400.000 pages à visiter cela prend du temps.
Je cherche une solution pour aller vite, que ce soit en no code, ou en python si possible.
Merci
Salut à tous,
Je m’amuse à scraper EUROPAGES en ce moment, mais effectivement avec 400.000 pages à visiter cela prend du temps.
Je cherche une solution pour aller vite, que ce soit en no code, ou en python si possible.
Merci
Salut,
c’est protégé ?
C’est la France ou d’autres pays ?
Tu sais combien de requetes par seconde le site tient bien ?
je compte 125 k sociétés fr avec un site web, c’est interessant de récup ca
En python, çà semble faisable, soit à la main en utilisant suffisemment de proxies et des requetes en parallèle (multithreads ou mieux asyncio)
Mais çà c’est la solution un peu préhistorique, même si çà marche. Sinon avec un framework type scrapy çà se fait bien
Si tu galères contactes moi on peut en discuter, j’ai suffisamment de proxies pour ce type de site
Aucune protection je bombarde a fond dessus sans soucis donc vraiment je cherche la solution qui va a balle
Je scrap tout le site
J’ai aps encore tester
ok premier test fait
test sur 3000 en moins d’une heure sans chercher à envoyer plein de requetes.
Passé par le sitemap, et je prends que les url de société pas de produit.
en 1 jour on peut en recup 70.000-80.000 , ca va. en y allant doucement.
Tu veux tout récup en 1 journée ?
je te conseil selenium ou puppeteer
Yes j’ai déjà les URL de toutes les société par les produits, ensuite le but c’est d’aller sur chaque site chopé les mails.
Je ne suis pas à cette cadence car je fais tourner d’autres scrap en meme temps sur mes machines, mais je pense que la semaine pro j’aurais le fichier
je vais essayer puppeteer car selenium parfois un peu longué quand meme
Ca fait bien le taf, mais ca prend son temps
De mon côté j’ai près d’1 millions de stés (France (150000) + Etranger) avec leur activité mais pas leur url
Hello, si tu a pas la foi de faire ça toi même, il y’a pas mal de gars qui font ce genre de gros scraps sur fiverr pour pas cher
Meme pas besoin, prends un français qui a faim
Histoire vrai, y’a 1 an je scrapais ces sites ( ct pas au volume mais au temps ) pour 30 € , le script prend littéralement 5 min a faire. Mais ce n’est pas une vie, j’en avait fait 1200 en 1 an
Si vous voulez utiliser des outils qui proposent une solution Cloud ? Par exemple, octoparse ? pour d’une part diviser le travail en plusieurs sous-tâches qui s’exécutent en même temps, ou d’autre part, avec une solution cloud, vous n’avez pas besoin de surveiller
Hello,
Tu peux utiliser la stack suivante (très efficace):
Scraper: Scrapy + Playwright (l’intégration playwright est vraiment bien)
Proxies: Scrapoxy + le connecteur AWS => avec 10 instances + le plugin pour faire la rotation dans Scrapy.
Fabien
L’intégration playwright fonctionne bien mais uniquement sur linux à ma connaissance. Mais que çà soit playwright ou sélénium çà va être lent, car on lance un navigateur, je ne voie pas l’intérêt, scrapy va gérer çà tout seul sans navigateur et çà sera 10 ou 100x plus rapide.
J’utilise très rarement un navigateur, sauf si le site est très protégé, sinon il n’y a aucun intérêt, c’est même plus long et plus compliqué à coder je trouve.
En python il y a aussi playwright.
Mais pour aller vite
# tasks.py
from celery import Celery
from httpx import AsyncClient
app = Celery('tasks', broker='redis://<broker_address>:<port>/<db_number>')
@app.task
async def scrape(url):
async with AsyncClient() as client:
response = await client.get(url)
# Process the response as needed
# main.py
from tasks import scrape
# List of URLs to scrape
urls = [...]
# Submit tasks
for url in urls:
scrape.delay(url)
ça pourrait aussi être quelque chose du genre
# tasks.py
from celery import Celery
from netmiko import ConnectHandler
app = Celery('tasks', broker='redis://<broker_address>:<port>/<db_number>')
@app.task
def scrape_server(server):
# Connect to server using Netmiko
ssh_client = ConnectHandler(
device_type=server['device_type'],
host=server['host'],
username=server['username'],
password=server['password']
)
# Execute scraping commands
# ...
# Disconnect from server
ssh_client.disconnect()
# main.py
from tasks import scrape_server
# List of servers to scrape
servers = [
{'device_type': 'cisco_ios', 'host': 'router1.example.com', 'username': 'admin', 'password': 'password1'},
{'device_type': 'cisco_ios', 'host': 'router2.example.com', 'username': 'admin', 'password': 'password2'},
# Add more servers as needed
]
# Submit tasks
for server in servers:
scrape_server.delay(server)
Mais les questions sont toujours :
@fabienv très cool scrapoxy! Tu as déjà tester Fireprox avec l’API Gateway AWS, je ne sais pas si ça marche toujours mais ça pourrait être une alternative intéressante non?
Firefox a une fingerprint moins reconnue que Chrome, donc ca passe mieux. Par contre, il est plus dure à « contrôler » avec les frameworks d’automation.
J’ai pas encore testé l’API Gateway AWS.
autant pour moi merci
c’est pas compliqué … on le fait pour nos clients Datapult.ai (encore en BETA)
si tu veux m’en dire plus, envoie moi un MP !++