Léon  Peltier

Léon Peltier

1657769520

Comment Extraire Des Données De Twitter à L'aide De Tweepy Et Snscrape

Si vous êtes un passionné de données, vous conviendrez probablement que l'une des sources les plus riches de données du monde réel est les médias sociaux. Des sites comme Twitter regorgent de données.

Vous pouvez utiliser les données que vous pouvez obtenir des médias sociaux de plusieurs façons, comme l'analyse des sentiments (analyser les pensées des gens) sur une question ou un domaine d'intérêt spécifique.

Il existe plusieurs façons de récupérer (ou de collecter) des données sur Twitter. Et dans cet article, nous examinerons deux de ces méthodes : utiliser Tweepy et Snscrape.

Nous apprendrons une méthode pour extraire les conversations publiques des personnes sur un sujet de tendance spécifique, ainsi que les tweets d'un utilisateur particulier.

Maintenant, sans plus tarder, commençons.

Tweepy vs Snscrape - Introduction à nos outils de grattage

Maintenant, avant d'aborder l'implémentation de chaque plateforme, essayons de saisir les différences et les limites de chaque plateforme.

Tweepy

Tweepy est une bibliothèque Python pour l'intégration avec l'API Twitter. Parce que Tweepy est connecté à l'API Twitter, vous pouvez effectuer des requêtes complexes en plus de gratter des tweets. Il vous permet de profiter de toutes les fonctionnalités de l'API Twitter.

Mais il y a quelques inconvénients - comme le fait que son API standard ne vous permet de collecter des tweets que pendant une semaine maximum (c'est-à-dire que Tweepy ne permet pas la récupération des tweets au-delà d'une fenêtre d'une semaine, donc la récupération des données historiques n'est pas autorisée).

En outre, il existe des limites au nombre de tweets que vous pouvez récupérer à partir du compte d'un utilisateur. Vous pouvez en savoir plus sur les fonctionnalités de Tweepy ici .

Capture d'écran

Snscrape est une autre approche pour extraire des informations de Twitter qui ne nécessite pas l'utilisation d'une API. Snscrape vous permet de récupérer des informations de base telles que le profil d'un utilisateur, le contenu du tweet, la source, etc.

Snscrape ne se limite pas à Twitter, mais peut également récupérer le contenu d'autres réseaux sociaux importants tels que Facebook, Instagram et autres.

Ses avantages sont qu'il n'y a pas de limites au nombre de tweets que vous pouvez récupérer ou à la fenêtre de tweets (c'est-à-dire la plage de dates des tweets). Ainsi, Snscrape vous permet de récupérer d'anciennes données.

Mais le seul inconvénient est qu'il lui manque toutes les autres fonctionnalités de Tweepy – cependant, si vous ne voulez gratter que des tweets, Snscrape suffirait.

Maintenant que nous avons clarifié la distinction entre les deux méthodes, passons en revue leur implémentation une par une.

Comment utiliser Tweepy pour gratter des tweets

Avant de commencer à utiliser Tweepy, nous devons d'abord nous assurer que nos identifiants Twitter sont prêts. Avec cela, nous pouvons connecter Tweepy à notre clé API et commencer à gratter.

Si vous n'avez pas d'informations d'identification Twitter, vous pouvez créer un compte de développeur Twitter en vous rendant ici . On vous posera quelques questions de base sur la façon dont vous avez l'intention d'utiliser l'API Twitter. Après cela, vous pouvez commencer la mise en œuvre.

La première étape consiste à installer la bibliothèque Tweepy sur votre machine locale, ce que vous pouvez faire en tapant :

pip install git+https://github.com/tweepy/tweepy.git

Comment supprimer les tweets d'un utilisateur sur Twitter

Maintenant que nous avons installé la bibliothèque Tweepy, récupérons 100 tweets d'un utilisateur appelé johnsur Twitter. Nous examinerons l'implémentation complète du code qui nous permettra de faire cela et en discuterons en détail afin que nous puissions comprendre ce qui se passe :

import tweepy

consumer_key = "XXXX" #Your API/Consumer key 
consumer_secret = "XXXX" #Your API/Consumer Secret Key
access_token = "XXXX"    #Your Access token key
access_token_secret = "XXXX" #Your Access token Secret key

#Pass in our twitter API authentication key
auth = tweepy.OAuth1UserHandler(
    consumer_key, consumer_secret,
    access_token, access_token_secret
)

#Instantiate the tweepy API
api = tweepy.API(auth, wait_on_rate_limit=True)


username = "john"
no_of_tweets =100


try:
    #The number of tweets we want to retrieved from the user
    tweets = api.user_timeline(screen_name=username, count=no_of_tweets)
    
    #Pulling Some attributes from the tweet
    attributes_container = [[tweet.created_at, tweet.favorite_count,tweet.source,  tweet.text] for tweet in tweets]

    #Creation of column list to rename the columns in the dataframe
    columns = ["Date Created", "Number of Likes", "Source of Tweet", "Tweet"]
    
    #Creation of Dataframe
    tweets_df = pd.DataFrame(attributes_container, columns=columns)
except BaseException as e:
    print('Status Failed On,',str(e))
    time.sleep(3)

Passons maintenant en revue chaque partie du code dans le bloc ci-dessus.

import tweepy

consumer_key = "XXXX" #Your API/Consumer key 
consumer_secret = "XXXX" #Your API/Consumer Secret Key
access_token = "XXXX"    #Your Access token key
access_token_secret = "XXXX" #Your Access token Secret key

#Pass in our twitter API authentication key
auth = tweepy.OAuth1UserHandler(
    consumer_key, consumer_secret,
    access_token, access_token_secret
)

#Instantiate the tweepy API
api = tweepy.API(auth, wait_on_rate_limit=True)

Dans le code ci-dessus, nous avons importé la bibliothèque Tweepy dans notre code, puis nous avons créé des variables dans lesquelles nous stockons nos informations d'identification Twitter (le gestionnaire d'authentification Tweepy nécessite quatre de nos informations d'identification Twitter). Nous transmettons donc ces variables au gestionnaire d'authentification Tweepy et les enregistrons dans une autre variable.

Ensuite, la dernière instruction d'appel est celle où nous avons instancié l'API Tweepy et transmis les paramètres requis.

username = "john"
no_of_tweets =100


try:
    #The number of tweets we want to retrieved from the user
    tweets = api.user_timeline(screen_name=username, count=no_of_tweets)
    
    #Pulling Some attributes from the tweet
    attributes_container = [[tweet.created_at, tweet.favorite_count,tweet.source,  tweet.text] for tweet in tweets]

    #Creation of column list to rename the columns in the dataframe
    columns = ["Date Created", "Number of Likes", "Source of Tweet", "Tweet"]
    
    #Creation of Dataframe
    tweets_df = pd.DataFrame(attributes_container, columns=columns)
except BaseException as e:
    print('Status Failed On,',str(e))

Dans le code ci-dessus, nous avons créé le nom de l'utilisateur (le @name dans Twitter) dont nous voulons récupérer les tweets ainsi que le nombre de tweets. Nous avons ensuite créé un gestionnaire d'exceptions pour nous aider à détecter les erreurs de manière plus efficace.

Après cela, le api.user_timeline()renvoie une collection des tweets les plus récents publiés par l'utilisateur que nous avons choisi dans le screen_nameparamètre et le nombre de tweets que vous souhaitez récupérer.

Dans la ligne de code suivante, nous avons transmis certains attributs que nous souhaitons récupérer de chaque tweet et les avons enregistrés dans une liste. Pour voir plus d'attributs que vous pouvez récupérer à partir d'un tweet, lisez ceci .

Dans le dernier morceau de code, nous avons créé une trame de données et transmis la liste que nous avons créée avec les noms de la colonne que nous avons créée.

Notez que les noms de colonne doivent être dans l'ordre de la façon dont vous les avez passés dans le conteneur d'attributs (c'est-à-dire, comment vous avez passé ces attributs dans une liste lorsque vous récupérez les attributs du tweet).

Si vous avez correctement suivi les étapes que j'ai décrites, vous devriez avoir quelque chose comme ceci :

image-17

Image de l'auteur

Maintenant que nous avons terminé, passons en revue un autre exemple avant de passer à l'implémentation de Snscrape.

Comment extraire des tweets d'une recherche textuelle

Dans cette méthode, nous allons récupérer un tweet basé sur une recherche. Vous pouvez le faire comme ceci :

import tweepy

consumer_key = "XXXX" #Your API/Consumer key 
consumer_secret = "XXXX" #Your API/Consumer Secret Key
access_token = "XXXX"    #Your Access token key
access_token_secret = "XXXX" #Your Access token Secret key

#Pass in our twitter API authentication key
auth = tweepy.OAuth1UserHandler(
    consumer_key, consumer_secret,
    access_token, access_token_secret
)

#Instantiate the tweepy API
api = tweepy.API(auth, wait_on_rate_limit=True)


search_query = "sex for grades"
no_of_tweets =150


try:
    #The number of tweets we want to retrieved from the search
    tweets = api.search_tweets(q=search_query, count=no_of_tweets)
    
    #Pulling Some attributes from the tweet
    attributes_container = [[tweet.user.name, tweet.created_at, tweet.favorite_count, tweet.source,  tweet.text] for tweet in tweets]

    #Creation of column list to rename the columns in the dataframe
    columns = ["User", "Date Created", "Number of Likes", "Source of Tweet", "Tweet"]
    
    #Creation of Dataframe
    tweets_df = pd.DataFrame(attributes_container, columns=columns)
except BaseException as e:
    print('Status Failed On,',str(e))

Le code ci-dessus est similaire au code précédent, sauf que nous avons modifié la méthode API de api.user_timeline()à api.search_tweets(). Nous avons également ajouté tweet.user.nameà la liste des conteneurs d'attributs.

Dans le code ci-dessus, vous pouvez voir que nous avons transmis deux attributs. En effet, si nous ne transmettons que tweet.user, cela ne renverra qu'un objet utilisateur dictionnaire. Nous devons donc également transmettre un autre attribut que nous voulons récupérer à partir de l'objet utilisateur, qui est name.

Vous pouvez aller ici pour voir une liste d'attributs supplémentaires que vous pouvez récupérer à partir d'un objet utilisateur. Maintenant, vous devriez voir quelque chose comme ceci une fois que vous l'avez exécuté :

image-18

Image de l'auteur.

Très bien, cela termine à peu près la mise en œuvre de Tweepy. N'oubliez pas qu'il y a une limite au nombre de tweets que vous pouvez récupérer et que vous ne pouvez pas récupérer de tweets datant de plus de 7 jours avec Tweepy.

Comment utiliser Snscrape pour gratter des tweets

Comme je l'ai mentionné précédemment, Snscrape ne nécessite pas d'informations d'identification Twitter (clé API) pour y accéder. Il n'y a pas non plus de limite au nombre de tweets que vous pouvez récupérer.

Pour cet exemple, cependant, nous allons simplement récupérer les mêmes tweets que dans l'exemple précédent, mais en utilisant Snscrape à la place.

Pour utiliser Snscrape, nous devons d'abord installer sa bibliothèque sur notre PC. Vous pouvez le faire en tapant :

pip3 install git+https://github.com/JustAnotherArchivist/snscrape.git

Comment supprimer les tweets d'un utilisateur avec Snscrape

Snscrape inclut deux méthodes pour obtenir des tweets de Twitter : l'interface de ligne de commande (CLI) et un Python Wrapper. Gardez simplement à l'esprit que le Python Wrapper n'est actuellement pas documenté - mais nous pouvons toujours nous débrouiller avec des essais et des erreurs.

Dans cet exemple, nous utiliserons le Wrapper Python car il est plus intuitif que la méthode CLI. Mais si vous êtes bloqué avec du code, vous pouvez toujours vous tourner vers la communauté GitHub pour obtenir de l'aide. Les contributeurs se feront un plaisir de vous aider.

Pour récupérer les tweets d'un utilisateur particulier, nous pouvons procéder comme suit :

import snscrape.modules.twitter as sntwitter
import pandas as pd

# Created a list to append all tweet attributes(data)
attributes_container = []

# Using TwitterSearchScraper to scrape data and append tweets to list
for i,tweet in enumerate(sntwitter.TwitterSearchScraper('from:john').get_items()):
    if i>100:
        break
    attributes_container.append([tweet.date, tweet.likeCount, tweet.sourceLabel, tweet.content])
    
# Creating a dataframe from the tweets list above 
tweets_df = pd.DataFrame(attributes_container, columns=["Date Created", "Number of Likes", "Source of Tweet", "Tweets"])

Passons en revue une partie du code que vous ne comprenez peut-être pas à première vue :

for i,tweet in enumerate(sntwitter.TwitterSearchScraper('from:john').get_items()):
    if i>100:
        break
    attributes_container.append([tweet.date, tweet.likeCount, tweet.sourceLabel, tweet.content])
    
  
# Creating a dataframe from the tweets list above 
tweets_df = pd.DataFrame(attributes_container, columns=["Date Created", "Number of Likes", "Source of Tweet", "Tweets"])

Dans le code ci-dessus, ce qu'il sntwitter.TwitterSearchScaperfait est de renvoyer un objet de tweets à partir du nom de l'utilisateur que nous lui avons transmis (qui est john).

Comme je l'ai mentionné plus tôt, Snscrape n'a pas de limite sur le nombre de tweets, il renverra donc le nombre de tweets de cet utilisateur. Pour vous aider, nous devons ajouter la fonction d'énumération qui parcourra l'objet et ajoutera un compteur afin que nous puissions accéder aux 100 tweets les plus récents de l'utilisateur.

Vous pouvez voir que la syntaxe des attributs que nous obtenons de chaque tweet ressemble à celle de Tweepy. Voici la liste des attributs que nous pouvons obtenir du tweet Snscrape qui a été organisé par Martin Beck.

Sns.Scrape

1 crédit

D'autres attributs pourraient être ajoutés, car la bibliothèque Snscrape est encore en développement. Comme par exemple dans l'image ci-dessus, sourcea été remplacé par sourceLabel. Si vous passez seulement source, cela renverra un objet.

Si vous exécutez le code ci-dessus, vous devriez également voir quelque chose comme ceci :

image-19

Image de l'auteur

Faisons maintenant de même pour le scraping par recherche.

Comment extraire des tweets d'une recherche textuelle avec Snscrape

import snscrape.modules.twitter as sntwitter
import pandas as pd

# Creating list to append tweet data to
attributes_container = []

# Using TwitterSearchScraper to scrape data and append tweets to list
for i,tweet in enumerate(sntwitter.TwitterSearchScraper('sex for grades since:2021-07-05 until:2022-07-06').get_items()):
    if i>150:
        break
    attributes_container.append([tweet.user.username, tweet.date, tweet.likeCount, tweet.sourceLabel, tweet.content])
    
# Creating a dataframe to load the list
tweets_df = pd.DataFrame(attributes_container, columns=["User", "Date Created", "Number of Likes", "Source of Tweet", "Tweet"])

Encore une fois, vous pouvez accéder à de nombreuses données historiques en utilisant Snscrape (contrairement à Tweepy, car son API standard ne peut pas dépasser 7 jours. L'API premium est de 30 jours.). Nous pouvons donc transmettre la date à partir de laquelle nous voulons commencer la recherche et la date à laquelle nous voulons qu'elle se termine dans la sntwitter.TwitterSearchScraper()méthode.

Ce que nous avons fait dans le code précédent correspond essentiellement à ce dont nous avons discuté précédemment. La seule chose à garder à l'esprit est que until fonctionne de manière similaire à la fonction range en Python (c'est-à-dire qu'elle exclut le dernier entier). Donc, si vous souhaitez obtenir des tweets à partir d'aujourd'hui, vous devez inclure le jour d'après dans le paramètre "jusqu'à".

image-21

Image de l'auteur.

Maintenant, vous savez aussi comment gratter des tweets avec Snscrape !

Quand utiliser chaque approche

Maintenant que nous avons vu comment chaque méthode fonctionne, vous vous demandez peut-être quand utiliser laquelle.

Eh bien, il n'y a pas de règle universelle pour savoir quand utiliser chaque méthode. Tout se résume à une préférence de matière et à votre cas d'utilisation.

Si vous souhaitez acquérir un nombre infini de tweets, vous devez utiliser Snscrape. Mais si vous souhaitez utiliser des fonctionnalités supplémentaires que Snscrape ne peut pas fournir (comme la géolocalisation, par exemple), vous devez absolument utiliser Tweepy. Il est directement intégré à l'API Twitter et fournit des fonctionnalités complètes.

Même ainsi, Snscrape est la méthode la plus couramment utilisée pour le grattage de base.

Conclusion

Dans cet article, nous avons appris à récupérer des données de Python à l'aide de Tweepy et Snscrape. Mais ce n'était qu'un bref aperçu du fonctionnement de chaque approche. Vous pouvez en savoir plus en explorant le Web pour obtenir des informations supplémentaires.

J'ai inclus quelques ressources utiles que vous pouvez utiliser si vous avez besoin d'informations supplémentaires. Merci pour la lecture.

 Source : https://www.freecodecamp.org/news/python-web-scraping-tutorial/

#python #web 

What is GEEK

Buddha Community

Comment Extraire Des Données De Twitter à L'aide De Tweepy Et Snscrape

Malo Hedreuil

1674576756

Bonjour,

Est-il possible de reprendre votre code et le boucler en utilisant for avec une liste de compte Twitter défini ?

Merci d'avance pour votre réponse.

Léon  Peltier

Léon Peltier

1657769520

Comment Extraire Des Données De Twitter à L'aide De Tweepy Et Snscrape

Si vous êtes un passionné de données, vous conviendrez probablement que l'une des sources les plus riches de données du monde réel est les médias sociaux. Des sites comme Twitter regorgent de données.

Vous pouvez utiliser les données que vous pouvez obtenir des médias sociaux de plusieurs façons, comme l'analyse des sentiments (analyser les pensées des gens) sur une question ou un domaine d'intérêt spécifique.

Il existe plusieurs façons de récupérer (ou de collecter) des données sur Twitter. Et dans cet article, nous examinerons deux de ces méthodes : utiliser Tweepy et Snscrape.

Nous apprendrons une méthode pour extraire les conversations publiques des personnes sur un sujet de tendance spécifique, ainsi que les tweets d'un utilisateur particulier.

Maintenant, sans plus tarder, commençons.

Tweepy vs Snscrape - Introduction à nos outils de grattage

Maintenant, avant d'aborder l'implémentation de chaque plateforme, essayons de saisir les différences et les limites de chaque plateforme.

Tweepy

Tweepy est une bibliothèque Python pour l'intégration avec l'API Twitter. Parce que Tweepy est connecté à l'API Twitter, vous pouvez effectuer des requêtes complexes en plus de gratter des tweets. Il vous permet de profiter de toutes les fonctionnalités de l'API Twitter.

Mais il y a quelques inconvénients - comme le fait que son API standard ne vous permet de collecter des tweets que pendant une semaine maximum (c'est-à-dire que Tweepy ne permet pas la récupération des tweets au-delà d'une fenêtre d'une semaine, donc la récupération des données historiques n'est pas autorisée).

En outre, il existe des limites au nombre de tweets que vous pouvez récupérer à partir du compte d'un utilisateur. Vous pouvez en savoir plus sur les fonctionnalités de Tweepy ici .

Capture d'écran

Snscrape est une autre approche pour extraire des informations de Twitter qui ne nécessite pas l'utilisation d'une API. Snscrape vous permet de récupérer des informations de base telles que le profil d'un utilisateur, le contenu du tweet, la source, etc.

Snscrape ne se limite pas à Twitter, mais peut également récupérer le contenu d'autres réseaux sociaux importants tels que Facebook, Instagram et autres.

Ses avantages sont qu'il n'y a pas de limites au nombre de tweets que vous pouvez récupérer ou à la fenêtre de tweets (c'est-à-dire la plage de dates des tweets). Ainsi, Snscrape vous permet de récupérer d'anciennes données.

Mais le seul inconvénient est qu'il lui manque toutes les autres fonctionnalités de Tweepy – cependant, si vous ne voulez gratter que des tweets, Snscrape suffirait.

Maintenant que nous avons clarifié la distinction entre les deux méthodes, passons en revue leur implémentation une par une.

Comment utiliser Tweepy pour gratter des tweets

Avant de commencer à utiliser Tweepy, nous devons d'abord nous assurer que nos identifiants Twitter sont prêts. Avec cela, nous pouvons connecter Tweepy à notre clé API et commencer à gratter.

Si vous n'avez pas d'informations d'identification Twitter, vous pouvez créer un compte de développeur Twitter en vous rendant ici . On vous posera quelques questions de base sur la façon dont vous avez l'intention d'utiliser l'API Twitter. Après cela, vous pouvez commencer la mise en œuvre.

La première étape consiste à installer la bibliothèque Tweepy sur votre machine locale, ce que vous pouvez faire en tapant :

pip install git+https://github.com/tweepy/tweepy.git

Comment supprimer les tweets d'un utilisateur sur Twitter

Maintenant que nous avons installé la bibliothèque Tweepy, récupérons 100 tweets d'un utilisateur appelé johnsur Twitter. Nous examinerons l'implémentation complète du code qui nous permettra de faire cela et en discuterons en détail afin que nous puissions comprendre ce qui se passe :

import tweepy

consumer_key = "XXXX" #Your API/Consumer key 
consumer_secret = "XXXX" #Your API/Consumer Secret Key
access_token = "XXXX"    #Your Access token key
access_token_secret = "XXXX" #Your Access token Secret key

#Pass in our twitter API authentication key
auth = tweepy.OAuth1UserHandler(
    consumer_key, consumer_secret,
    access_token, access_token_secret
)

#Instantiate the tweepy API
api = tweepy.API(auth, wait_on_rate_limit=True)


username = "john"
no_of_tweets =100


try:
    #The number of tweets we want to retrieved from the user
    tweets = api.user_timeline(screen_name=username, count=no_of_tweets)
    
    #Pulling Some attributes from the tweet
    attributes_container = [[tweet.created_at, tweet.favorite_count,tweet.source,  tweet.text] for tweet in tweets]

    #Creation of column list to rename the columns in the dataframe
    columns = ["Date Created", "Number of Likes", "Source of Tweet", "Tweet"]
    
    #Creation of Dataframe
    tweets_df = pd.DataFrame(attributes_container, columns=columns)
except BaseException as e:
    print('Status Failed On,',str(e))
    time.sleep(3)

Passons maintenant en revue chaque partie du code dans le bloc ci-dessus.

import tweepy

consumer_key = "XXXX" #Your API/Consumer key 
consumer_secret = "XXXX" #Your API/Consumer Secret Key
access_token = "XXXX"    #Your Access token key
access_token_secret = "XXXX" #Your Access token Secret key

#Pass in our twitter API authentication key
auth = tweepy.OAuth1UserHandler(
    consumer_key, consumer_secret,
    access_token, access_token_secret
)

#Instantiate the tweepy API
api = tweepy.API(auth, wait_on_rate_limit=True)

Dans le code ci-dessus, nous avons importé la bibliothèque Tweepy dans notre code, puis nous avons créé des variables dans lesquelles nous stockons nos informations d'identification Twitter (le gestionnaire d'authentification Tweepy nécessite quatre de nos informations d'identification Twitter). Nous transmettons donc ces variables au gestionnaire d'authentification Tweepy et les enregistrons dans une autre variable.

Ensuite, la dernière instruction d'appel est celle où nous avons instancié l'API Tweepy et transmis les paramètres requis.

username = "john"
no_of_tweets =100


try:
    #The number of tweets we want to retrieved from the user
    tweets = api.user_timeline(screen_name=username, count=no_of_tweets)
    
    #Pulling Some attributes from the tweet
    attributes_container = [[tweet.created_at, tweet.favorite_count,tweet.source,  tweet.text] for tweet in tweets]

    #Creation of column list to rename the columns in the dataframe
    columns = ["Date Created", "Number of Likes", "Source of Tweet", "Tweet"]
    
    #Creation of Dataframe
    tweets_df = pd.DataFrame(attributes_container, columns=columns)
except BaseException as e:
    print('Status Failed On,',str(e))

Dans le code ci-dessus, nous avons créé le nom de l'utilisateur (le @name dans Twitter) dont nous voulons récupérer les tweets ainsi que le nombre de tweets. Nous avons ensuite créé un gestionnaire d'exceptions pour nous aider à détecter les erreurs de manière plus efficace.

Après cela, le api.user_timeline()renvoie une collection des tweets les plus récents publiés par l'utilisateur que nous avons choisi dans le screen_nameparamètre et le nombre de tweets que vous souhaitez récupérer.

Dans la ligne de code suivante, nous avons transmis certains attributs que nous souhaitons récupérer de chaque tweet et les avons enregistrés dans une liste. Pour voir plus d'attributs que vous pouvez récupérer à partir d'un tweet, lisez ceci .

Dans le dernier morceau de code, nous avons créé une trame de données et transmis la liste que nous avons créée avec les noms de la colonne que nous avons créée.

Notez que les noms de colonne doivent être dans l'ordre de la façon dont vous les avez passés dans le conteneur d'attributs (c'est-à-dire, comment vous avez passé ces attributs dans une liste lorsque vous récupérez les attributs du tweet).

Si vous avez correctement suivi les étapes que j'ai décrites, vous devriez avoir quelque chose comme ceci :

image-17

Image de l'auteur

Maintenant que nous avons terminé, passons en revue un autre exemple avant de passer à l'implémentation de Snscrape.

Comment extraire des tweets d'une recherche textuelle

Dans cette méthode, nous allons récupérer un tweet basé sur une recherche. Vous pouvez le faire comme ceci :

import tweepy

consumer_key = "XXXX" #Your API/Consumer key 
consumer_secret = "XXXX" #Your API/Consumer Secret Key
access_token = "XXXX"    #Your Access token key
access_token_secret = "XXXX" #Your Access token Secret key

#Pass in our twitter API authentication key
auth = tweepy.OAuth1UserHandler(
    consumer_key, consumer_secret,
    access_token, access_token_secret
)

#Instantiate the tweepy API
api = tweepy.API(auth, wait_on_rate_limit=True)


search_query = "sex for grades"
no_of_tweets =150


try:
    #The number of tweets we want to retrieved from the search
    tweets = api.search_tweets(q=search_query, count=no_of_tweets)
    
    #Pulling Some attributes from the tweet
    attributes_container = [[tweet.user.name, tweet.created_at, tweet.favorite_count, tweet.source,  tweet.text] for tweet in tweets]

    #Creation of column list to rename the columns in the dataframe
    columns = ["User", "Date Created", "Number of Likes", "Source of Tweet", "Tweet"]
    
    #Creation of Dataframe
    tweets_df = pd.DataFrame(attributes_container, columns=columns)
except BaseException as e:
    print('Status Failed On,',str(e))

Le code ci-dessus est similaire au code précédent, sauf que nous avons modifié la méthode API de api.user_timeline()à api.search_tweets(). Nous avons également ajouté tweet.user.nameà la liste des conteneurs d'attributs.

Dans le code ci-dessus, vous pouvez voir que nous avons transmis deux attributs. En effet, si nous ne transmettons que tweet.user, cela ne renverra qu'un objet utilisateur dictionnaire. Nous devons donc également transmettre un autre attribut que nous voulons récupérer à partir de l'objet utilisateur, qui est name.

Vous pouvez aller ici pour voir une liste d'attributs supplémentaires que vous pouvez récupérer à partir d'un objet utilisateur. Maintenant, vous devriez voir quelque chose comme ceci une fois que vous l'avez exécuté :

image-18

Image de l'auteur.

Très bien, cela termine à peu près la mise en œuvre de Tweepy. N'oubliez pas qu'il y a une limite au nombre de tweets que vous pouvez récupérer et que vous ne pouvez pas récupérer de tweets datant de plus de 7 jours avec Tweepy.

Comment utiliser Snscrape pour gratter des tweets

Comme je l'ai mentionné précédemment, Snscrape ne nécessite pas d'informations d'identification Twitter (clé API) pour y accéder. Il n'y a pas non plus de limite au nombre de tweets que vous pouvez récupérer.

Pour cet exemple, cependant, nous allons simplement récupérer les mêmes tweets que dans l'exemple précédent, mais en utilisant Snscrape à la place.

Pour utiliser Snscrape, nous devons d'abord installer sa bibliothèque sur notre PC. Vous pouvez le faire en tapant :

pip3 install git+https://github.com/JustAnotherArchivist/snscrape.git

Comment supprimer les tweets d'un utilisateur avec Snscrape

Snscrape inclut deux méthodes pour obtenir des tweets de Twitter : l'interface de ligne de commande (CLI) et un Python Wrapper. Gardez simplement à l'esprit que le Python Wrapper n'est actuellement pas documenté - mais nous pouvons toujours nous débrouiller avec des essais et des erreurs.

Dans cet exemple, nous utiliserons le Wrapper Python car il est plus intuitif que la méthode CLI. Mais si vous êtes bloqué avec du code, vous pouvez toujours vous tourner vers la communauté GitHub pour obtenir de l'aide. Les contributeurs se feront un plaisir de vous aider.

Pour récupérer les tweets d'un utilisateur particulier, nous pouvons procéder comme suit :

import snscrape.modules.twitter as sntwitter
import pandas as pd

# Created a list to append all tweet attributes(data)
attributes_container = []

# Using TwitterSearchScraper to scrape data and append tweets to list
for i,tweet in enumerate(sntwitter.TwitterSearchScraper('from:john').get_items()):
    if i>100:
        break
    attributes_container.append([tweet.date, tweet.likeCount, tweet.sourceLabel, tweet.content])
    
# Creating a dataframe from the tweets list above 
tweets_df = pd.DataFrame(attributes_container, columns=["Date Created", "Number of Likes", "Source of Tweet", "Tweets"])

Passons en revue une partie du code que vous ne comprenez peut-être pas à première vue :

for i,tweet in enumerate(sntwitter.TwitterSearchScraper('from:john').get_items()):
    if i>100:
        break
    attributes_container.append([tweet.date, tweet.likeCount, tweet.sourceLabel, tweet.content])
    
  
# Creating a dataframe from the tweets list above 
tweets_df = pd.DataFrame(attributes_container, columns=["Date Created", "Number of Likes", "Source of Tweet", "Tweets"])

Dans le code ci-dessus, ce qu'il sntwitter.TwitterSearchScaperfait est de renvoyer un objet de tweets à partir du nom de l'utilisateur que nous lui avons transmis (qui est john).

Comme je l'ai mentionné plus tôt, Snscrape n'a pas de limite sur le nombre de tweets, il renverra donc le nombre de tweets de cet utilisateur. Pour vous aider, nous devons ajouter la fonction d'énumération qui parcourra l'objet et ajoutera un compteur afin que nous puissions accéder aux 100 tweets les plus récents de l'utilisateur.

Vous pouvez voir que la syntaxe des attributs que nous obtenons de chaque tweet ressemble à celle de Tweepy. Voici la liste des attributs que nous pouvons obtenir du tweet Snscrape qui a été organisé par Martin Beck.

Sns.Scrape

1 crédit

D'autres attributs pourraient être ajoutés, car la bibliothèque Snscrape est encore en développement. Comme par exemple dans l'image ci-dessus, sourcea été remplacé par sourceLabel. Si vous passez seulement source, cela renverra un objet.

Si vous exécutez le code ci-dessus, vous devriez également voir quelque chose comme ceci :

image-19

Image de l'auteur

Faisons maintenant de même pour le scraping par recherche.

Comment extraire des tweets d'une recherche textuelle avec Snscrape

import snscrape.modules.twitter as sntwitter
import pandas as pd

# Creating list to append tweet data to
attributes_container = []

# Using TwitterSearchScraper to scrape data and append tweets to list
for i,tweet in enumerate(sntwitter.TwitterSearchScraper('sex for grades since:2021-07-05 until:2022-07-06').get_items()):
    if i>150:
        break
    attributes_container.append([tweet.user.username, tweet.date, tweet.likeCount, tweet.sourceLabel, tweet.content])
    
# Creating a dataframe to load the list
tweets_df = pd.DataFrame(attributes_container, columns=["User", "Date Created", "Number of Likes", "Source of Tweet", "Tweet"])

Encore une fois, vous pouvez accéder à de nombreuses données historiques en utilisant Snscrape (contrairement à Tweepy, car son API standard ne peut pas dépasser 7 jours. L'API premium est de 30 jours.). Nous pouvons donc transmettre la date à partir de laquelle nous voulons commencer la recherche et la date à laquelle nous voulons qu'elle se termine dans la sntwitter.TwitterSearchScraper()méthode.

Ce que nous avons fait dans le code précédent correspond essentiellement à ce dont nous avons discuté précédemment. La seule chose à garder à l'esprit est que until fonctionne de manière similaire à la fonction range en Python (c'est-à-dire qu'elle exclut le dernier entier). Donc, si vous souhaitez obtenir des tweets à partir d'aujourd'hui, vous devez inclure le jour d'après dans le paramètre "jusqu'à".

image-21

Image de l'auteur.

Maintenant, vous savez aussi comment gratter des tweets avec Snscrape !

Quand utiliser chaque approche

Maintenant que nous avons vu comment chaque méthode fonctionne, vous vous demandez peut-être quand utiliser laquelle.

Eh bien, il n'y a pas de règle universelle pour savoir quand utiliser chaque méthode. Tout se résume à une préférence de matière et à votre cas d'utilisation.

Si vous souhaitez acquérir un nombre infini de tweets, vous devez utiliser Snscrape. Mais si vous souhaitez utiliser des fonctionnalités supplémentaires que Snscrape ne peut pas fournir (comme la géolocalisation, par exemple), vous devez absolument utiliser Tweepy. Il est directement intégré à l'API Twitter et fournit des fonctionnalités complètes.

Même ainsi, Snscrape est la méthode la plus couramment utilisée pour le grattage de base.

Conclusion

Dans cet article, nous avons appris à récupérer des données de Python à l'aide de Tweepy et Snscrape. Mais ce n'était qu'un bref aperçu du fonctionnement de chaque approche. Vous pouvez en savoir plus en explorant le Web pour obtenir des informations supplémentaires.

J'ai inclus quelques ressources utiles que vous pouvez utiliser si vous avez besoin d'informations supplémentaires. Merci pour la lecture.

 Source : https://www.freecodecamp.org/news/python-web-scraping-tutorial/

#python #web 

Desmond Ivana

1595225473

Features incorporate in your Twitter clone script

Twitter is a microblogging website that allows users to share their opinion, facts, and so on via tweets. People can follow their favourite celebrities and other famous personalities on the Twitter app. They will receive tweets they have posted in their feeds. At present, Twitter has over 100 million active users and 500 million tweets are shared daily. While investing in Twitter clone app, make sure that it has the following features:

Pin tweets

Users can gain more attention to a particular tweet by pinning the tweet on top of their profiles. Whenever people visit your page, pinned tweets will be visible to them. It is one of the best strategies to get more attention to blogs, business, promotional products & services, and many more.

Twitter moments

Twitter moments are curated stories and posts that belong to specific categories. Users post content related to an event like a music concert, theatre play, and so on. This Twitter clone script feature brings more followers to the users’ accounts.

Notifications

Users get alerts whenever new content is posted by the followers, upcoming features, for important events, etc. They can also customize the category which they receive as alerts like they can mute from certain followers according to their preference.

Create photo collages

Photos are an essential part of any social networking site, and the Twitter app clone is no exception. Users can create a collage with a maximum of four photos during tweeting through this photo collage feature.

Appdupe offers the best Twitter clone script that is customizable and white-labeled. The Twitter clone is scalable, so it is viable for future advancements. Twitter is both a unique and popular social media website, so purchase a high-end clone app from us and become successful with your business venture.

#twitter clone #twitter clone app development #radar twitter clone script #twitter clone script #best twitter clone script #twitter clone app

joe biden

1617257581

Software de restauración de Exchange para restaurar sin problemas PST en Exchange Server

¿Quiere restaurar los buzones de correo de PST a Exchange Server? Entonces, estás en la página correcta. Aquí, lo guiaremos sobre cómo puede restaurar fácilmente mensajes y otros elementos de PST a MS Exchange Server.

Muchas veces, los usuarios necesitan restaurar los elementos de datos de PST en Exchange Server, pero debido a la falta de disponibilidad de una solución confiable, los usuarios no pueden obtener la solución. Háganos saber primero sobre el archivo PST y MS Exchange Server.

Conozca PST y Exchange Server

PST es un formato de archivo utilizado por MS Outlook, un cliente de correo electrónico de Windows y muy popular entre los usuarios domésticos y comerciales.

Por otro lado, Exchange Server es un poderoso servidor de correo electrónico donde todos los datos se almacenan en un archivo EDB. Los usuarios generalmente guardan la copia de seguridad de los buzones de correo de Exchange en el archivo PST, pero muchas veces, los usuarios deben restaurar los datos del archivo PST en Exchange. Para resolver este problema, estamos aquí con una solución profesional que discutiremos en la siguiente sección de esta publicación.

Un método profesional para restaurar PST a Exchange Server

No le recomendamos que elija una solución al azar para restaurar los datos de PST en Exchange Server. Por lo tanto, al realizar varias investigaciones, estamos aquí con una solución inteligente y conveniente, es decir, Exchange Restore Software. Es demasiado fácil de manejar por todos los usuarios y restaurar cómodamente todos los datos del archivo PST a Exchange Server.

Funciones principales ofrecidas por Exchange Restore Software

El software es demasiado simple de usar y se puede instalar fácilmente en todas las versiones de Windows. Con unos pocos clics, la herramienta puede restaurar los elementos del buzón de Exchange.

No es necesario que MS Outlook restaure los datos PST en Exchange. Todos los correos electrónicos, contactos, notas, calendarios, etc. se restauran desde el archivo PST a Exchange Server.

Todas las versiones de Outlook son compatibles con la herramienta, como Outlook 2019, 2016, 2013, 2010, 2007, etc. La herramienta proporciona varios filtros mediante los cuales se pueden restaurar los datos deseados desde un archivo PST a Exchange Server. El programa se puede instalar en todas las versiones de Windows como Windows 10, 8.1, 8, 7, XP, Vista, etc.

Descargue la versión de demostración del software de restauración de Exchange y analice el funcionamiento del software restaurando los primeros 50 elementos por carpeta.

Líneas finales

No existe una solución manual para restaurar los buzones de correo de Exchange desde el archivo PST. Por lo tanto, hemos explicado una solución fácil e inteligente para restaurar datos de archivos PST en Exchange Server. Simplemente puede usar este software y restaurar todos los datos de PST a Exchange Server.

Más información:- https://www.datavare.com/software/exchange-restore.html

#intercambio de software de restauración #intercambio de restauración #buzón del servidor de intercambio #herramienta de restauración de intercambio

Desmond Ivana

1597301184

Stand-apart Features Worth Integrating Into A Twitter Clone App

Social networking sites are topping the charts both in user engagements and revenue. Among the top-grossing platforms, apps like Facebook, Twitter, Instagram, etc., occupy a firm and commendable position. With almost 80% of the Internet users establishing a social media presence, entrepreneurs needn’t hesitate to invest in a Twitter Clone App.

However, with so many social media apps sprouting up, there’s a need for the app to be unique and attractive. Users expect stand-apart features in an app like Twitter. It is pointless to expect users to switch from the existing app to the new one unless it offers specific advantages. In this blog, let’s discuss the cutting-edge features that can make an impact on the audience.

  • In-app chat: What’s a social media app when people cannot establish a connection with their social community. Most of the social media apps fail to integrate this feature.
  • Multi-lingual support: A social community must transcend across the world. Language shouldn’t be a barrier for people to establish connections. Hence, integrating a multi-lingual support system can help a Twitter clone establish a global presence.
  • Categorized newsfeed: People expect personalized content from a social media platform. With this feature, people can categorize their newsfeed to their preferred topics, making the platform more reliable.
  • Refresh feature: Users get annoyed with the app if it displays the same content in the newsfeed every time. To avoid this inconvenience, a refresh feature can ensure that users access new content in their feed.
  • Real-time stats: Users need to know if their content has made an impact with the fellow users. Real-time stats are a great way to enable users to know their stats and impact.

Wrapping up,
The best Twitter clone script must inevitably include these features. Ensure that you integrate these features into your Twitter clone to ensure your social media platform’s success.

#twitter clone #twitter clone app development #radar twitter clone script #twitter clone script #best twitter clone script

Thierry  Perret

Thierry Perret

1660673880

Comment Utiliser JQuery Pour analyser HTML Et Extraire Des Données

Votre page Web peut parfois avoir besoin d'utiliser des informations provenant d'autres pages Web qui ne fournissent pas d'API. Par exemple, vous devrez peut-être récupérer des informations sur le cours des actions d'une page Web en temps réel et les afficher dans un widget de votre page Web. Cependant, certains des sites Web d'agrégation des prix des actions ne fournissent pas d'API.

Dans de tels cas, vous devez récupérer le code HTML source de la page Web et rechercher manuellement les informations dont vous avez besoin. Ce processus de récupération et d'analyse manuelle du HTML pour trouver des informations spécifiques est connu sous le nom de web scraping .

Dans ce didacticiel, vous apprendrez à récupérer une page Web à l'aide de jQuery , un outil rapide et polyvalent permettant d'analyser et de manipuler le code HTML. Bien que jQuery soit traditionnellement utilisé pour interagir efficacement avec HTML et CSS à partir de JavaScript côté client, ses capacités de traversée et de manipulation DOM combinées à sa fonctionnalité AJAX en font un choix solide pour le scraping Web.

Qu'est-ce que le scraping côté client ?

Le grattage côté client consiste à récupérer la source d'une page Web au format HTML à l'aide de l'URL de la page et à analyser les informations pour obtenir des informations spécifiques.

Par exemple, vous pouvez créer un moteur de recherche de code. Un site Web tel que Stack Overflow fournit une API pour accéder à leurs questions et réponses par programmation. Cependant, d'autres sites Web de didacticiels, tels que celui-ci de Draft.dev, ont des blocs de code mais ne fournissent pas d'API pour consommer des informations. Pour lire leurs blocs de code, vous devrez utiliser le scraping côté client, comme expliqué dans ce tutoriel.

Implémentation du scraping côté client à l'aide de jQuery

Ce tutoriel vous montre comment scrapper une page web en utilisant jQuery . jQuery est une bibliothèque JavaScript rapide et puissante qui prend en charge la traversée de documents HTML et la manipulation des attributs d'éléments HTML. Il possède également des fonctionnalités qui peuvent gérer les événements des éléments HTML. jQuery utilise des sélecteurs CSS pour sélectionner des objets.

Conditions préalables

Commencez par ajouter une référence à la bibliothèque jQuery à l'aide de la <script>balise :

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

Récupération de la page distante à l'aide de Get

Dans cette section, vous apprendrez à récupérer le code HTML de la page distante à l'aide de la get()méthode jQuery. La méthode get() charge les données du serveur à l'aide de la requête http get.

La get()requête vous permet de définir une fonction de rappel qui peut être exécutée lorsque la requête get réussit. La fonction de rappel accepte également des paramètres.

Considérons un exemple de page Web du blog de Draft.dev . Cette page Web contient des éléments HTML avec des identifiants et différentes classes et certains avec des attributs. Vous allez récupérer le code HTML complet de cette page et l'alerter.

Pour récupérer l'URL, transmettez-la à la get()méthode jQuery et définissez une fonction de rappel avec l'instruction alert. Vous pouvez transmettre les données HTML renvoyées par la get()requête, comme indiqué ci-dessous.

$.get('https://draft.dev/learn/how-to-use-markdown', function(html) {
  alert(html);
});

Vous devriez voir le code HTML complet de la page Web. La sortie est découpée pour n'afficher que l'exemple HTML.

<!DOCTYPE html><html lang="en"><head>    <meta charset="utf-8">    <title>How to Use Markdown | Draft.dev</title>  <meta content="Draft.dev" property="og:site_name">      <meta content="How to Use Markdown" property="og:title">        <meta content="article" property="og:type">      <meta content="If you don't know what Markdown is, or if you've only heard of it, it may seem confusing how a tool for writing can do these things and be held in such high regard by an entire community. This blog post will dive a bit deeper into why Markdown was developed, what exactly it is, and why you should use it. " property="og:description"> 
--
<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script></body></html>

C'est ainsi que vous pouvez obtenir le source HTML complet d'une page Web en utilisant la get()méthode jQuery.

Extraction des données souhaitées à l'aide de la méthode Find de jQuery

Dans cette section, vous apprendrez à extraire les données souhaitées de la source HTML (par exemple, extraire le texte d'un élément HTML spécifique ou extraire le texte d'éléments avec une classe spécifique). De plus, vous apprendrez comment accéder aux éléments qui ont la même classe HTML.

Remarque : pour connaître les ID ou les classes des éléments HTML d'une page Web, vous pouvez cliquer avec le bouton droit sur la page Web et sélectionner l' option Afficher la source de la page .

jQuery fournit la find()méthode pour rechercher parmi les objets descendants disponibles dans l'ensemble des éléments DOM. Vous pouvez utiliser le sélecteur CSS pour trouver un élément. Les sélecteurs CSS définissent les éléments auxquels s'appliquent les styles CSS.

Obtenir le texte de l'élément à l'aide de l'ID

L' attribut ID est utilisé pour spécifier un ID unique pour les éléments HTML de votre page Web. Vous ne pouvez pas définir le même ID pour plusieurs éléments dans la même page HTML. CSS et JavaScript dans votre page utilisent cet ID pour accéder aux éléments spécifiques afin de définir un style ou d'effectuer toute autre opération sur l'élément.

Pendant le scraping de données, vous pouvez utiliser cet ID pour rechercher et accéder à l'élément. L'exemple d'URL contient un élément avec l'ID why-use-markdown . En utilisant la find()méthode, vous trouverez l'élément avec cet ID et imprimerez ses informations textuelles.

Pour trouver un élément avec un ID, vous devez utiliser le sélecteur d'ID , qui est #. Par exemple, pour sélectionner un élément avec l'ID why-use-markdown , préfixez l'ID de l'élément avec #et transmettez-le à la find()méthode, comme indiqué ci-dessous. Une fois l'élément sélectionné, vous pouvez utiliser la text()méthode pour accéder à l'attribut text de l'élément.


$.get('https://draft.dev/learn/how-to-use-markdown', function(html) {

  alert($(html).find("#why-use-markdown").text());
  
});

Vous avez maintenant accédé à l'élément HTML à l'aide de son ID.

Obtenir le texte de l'élément à l'aide du nom de la classe

Ensuite, vous apprendrez à sélectionner des éléments à l'aide de sa classe. L'attribut class est utilisé pour spécifier la classe des éléments HTML. Contrairement à la propriété ID, vous pouvez avoir plusieurs éléments avec la même classe dans une même page Web.

L'attribut class vous permet de définir un ensemble de styles à l'aide de CSS. Ce style sera appliqué à tous les éléments définis à l'aide de cette classe spécifique. Lors de la récupération de données, vous pouvez utiliser ce nom de classe pour rechercher tous les éléments avec une classe spécifique et obtenir des données à partir de ces éléments.

Dans l'exemple d'URL, il y a un élément avec la classe page-title .

Pour trouver un élément avec classe, vous devez utiliser le sélecteur de classe , qui est .. Par exemple, pour sélectionner un élément avec la classe page-title , préfixez .avec la classe de l'élément et transmettez-le à la find()méthode, comme indiqué ci-dessous. Une fois l'élément sélectionné, vous pouvez utiliser la text()méthode pour accéder à l'attribut text de l'élément.

$.get('https://draft.dev/learn/how-to-use-markdown', function(html) {
  alert($(html).find(".page-title").text());
});

C'est ainsi que vous trouvez un élément avec une classe.

Gestion de plusieurs éléments avec la même classe

Comme indiqué précédemment, il est possible que plusieurs éléments aient la même classe dans un document HTML. Par conséquent, vous allez maintenant apprendre à trouver plus d'un élément avec la même classe.

Vous pouvez utiliser la find()méthode pour rechercher un élément à l'aide de son nom de classe. Lorsqu'il y a plus d'éléments avec la même classe, vous pouvez utiliser la each()méthode pour itérer sur les éléments. La fonction de rappel définie sera appliquée à chaque élément.

Dans l'exemple d'URL, plusieurs éléments sont définis avec la classe highlight . C'est la classe utilisée pour désigner tous les blocs de code qui ont des tutoriels de démarquage.

Lorsque vous trouvez l'élément à l'aide de cette classe, vous obtenez une liste d'objets jQuery. Vous pouvez ensuite utiliser la each()méthode pour itérer sur ces éléments et imprimer le texte des éléments pour imprimer les blocs du didacticiel, comme indiqué ci-dessous.


// Get HTML from page and fetching the element with ID 

$.get('https://draft.dev/learn/how-to-use-markdown', function(html) {
  
  // Loop through elements you want to scrape content from
  $(html).find(".highlight").each(function() {

    alert($(this).text());

  });

});

C'est ainsi que vous pouvez trouver un élément avec son nom de classe et parcourir les éléments correspondants.

Considérations de sécurité

Lors de la récupération de données à partir d'une URL, celle-ci peut contenir des scripts. Par défaut, l'API de jQuery n'exécute pas les scripts. Cependant, le code HTML comme <img onerror='script'>exécutera le script indirectement. Par conséquent, vous devez être prudent et nettoyer ou échapper les scripts des sources. Sinon, des scripts inconnus peuvent endommager votre programme ou vous pouvez potentiellement donner accès à vos informations personnelles à des pirates.

Limites

Il existe certaines limitations au grattage Web côté client à l'aide de jQuery.

  1. La source de la page Web peut changer au fil du temps. Par conséquent, toute modification des noms de classe ou des identifiants de la page Web peut interrompre l'application de grattage.
  2. Les pages Web dynamiques qui changent souvent sont très difficiles à supprimer du côté client en raison de la nature changeante de la structure de l'élément HTML, de l'ID de l'élément et des classes d'élément. De plus, pour des raisons de sécurité, les scripts ne sont pas exécutés lors du scraping. Ainsi, les composants chargés par des scripts ne seront pas chargés dans la page Web dynamique.
  3. Il est difficile de gratter des pages avec pagination où les données sont chargées avec un script. Si la pagination est implémentée là où chaque page a une URL distincte (par exemple, https://example.com?page= <numéro_page>), il est alors possible de gratter en faisant simplement des requêtes séparées. Cependant, si les pages sont chargées via des appels AJAX (par exemple, une page à défilement infini), alors il est difficile de gratter car les scripts ne peuvent pas être exécutés par jQuery.

Par conséquent, cette approche est la plus appropriée pour les pages qui utilisent le rendu côté serveur, le HTML statique simple ou le HTML d'une seule page.

Conclusion

Dans cet article, vous avez appris à faire du web scraping à l'aide de jQuery, à trouver des éléments à l'aide de son ID ou de son élément HTML et à gérer les éléments HTML de la même classe.

Lien : https://www.scrapingbee.com/blog/html-parsing-jquery/

#jquery #html #javascript