Se connecter

Informatique

Programmation

Sujet : BOT leboncoin
1
tytlox
Niveau 4
04 mai 2021 à 20:16:45

Salut les kheyos, j'aimerais créer un bot qui m'indiquerait à chaque fois qu'une annonce intéressante est postée sur lbc (je cherche des mangas), sachant que j'ai 0 base (je me débrouille en python mais je sais pas du tout comment créer un bot).
Déjà est-ce que ce serait possible ?
Il faudrait que le bot sache ce que je considère comme étant intéressant, et en plus qu'il "comprenne" l'annonce car les détails sont souvent dans la description plutôt que dans le titre.
En plus il faudrait qu'il ne se fasse pas avoir par les tags des gens qui veulent plus de visibilité :(
Si vous avez des conseils je suis preneuse :)

Azerban
Niveau 15
04 mai 2021 à 21:16:58

Oui parfaitement faisable, j'avais d'ailleurs écrit un petit script en Python pour un mec qui voulait scraper un peu LBC.

Tu as le principal ici, tu n'as plus qu'à programmer l'envoi de mails si un item correspond à tes critères et lancer le script toutes les deux minutes par exemple sur un serveur ou sur ton PC :

import json

import requests
from bs4 import BeautifulSoup

RECHERCHE = "mangas"
URL = f"https://www.leboncoin.fr/recherche?text={RECHERCHE}"

headers = {"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0"}

response = requests.get(URL, headers=headers)
response.raise_for_status()

soup = BeautifulSoup(response.text, "html.parser")
json_content = soup.find("script", {"type":"application/json"}).string
datas = json.loads(json_content)
items = datas["props"]["pageProps"]["listingData"]["ads"]

# On écrit les datas dans un fichier json (facultatif)
with open("datas_le_bon_coin.json", mode="w") as f:
    json.dump(datas, f)

for item in items:
    print("Titre:", item["subject"])
    print("Lien:", item["url"])
    try:
        print("Prix:", item["price"][0], "€")
    except:
        print('Prix non indiqué')
    print("Catégorie:", item["category_name"])
    print("Mis en ligne:", item["first_publication_date"])
    print(item["body"])  # Annonce
    print('-' * 50)
Azerban
Niveau 15
04 mai 2021 à 21:19:51

Ah oui, pas besoin de te faire passer pour une fille, on te répondra même si t'as un pénis :-)))

tytlox
Niveau 4
04 mai 2021 à 21:41:24

Oh nice c'est pile ce que je voulais, tu penses qu'il y aurait moyen de lancer le script quand une nouvelle annonce sort au lieu de mettre un laps de temps défini ?

Et heureuse d'apprendre que tu m'aurais répondu même si j'avais eu un pénis :rire:

Azerban
Niveau 15
04 mai 2021 à 21:48:46

Heu... tu ne peux pas lancer le script quand l'annonce est publiée, par définition c'est le script qui est lancé et qui détecte une nouvelle annonce et envoie une notification le cas échéant.

1
Sujet : BOT leboncoin
   Retour haut de page
Consulter la version web de cette page