"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Un guide technique pour récupérer les données des avocats à Atlanta, en Géorgie, avec Python

Un guide technique pour récupérer les données des avocats à Atlanta, en Géorgie, avec Python

Publié le 2024-11-08
Parcourir:152

A Technical Guide to Scraping Attorney Data in Atlanta, Georgia with Python

Dans ce guide, nous explorerons comment utiliser Python pour extraire les données des avocats des sites Web juridiques, en nous concentrant sur les avocats d'Atlanta, en Géorgie. Ces informations peuvent être précieuses pour ceux qui cherchent à trouver un avocat, à rechercher des cabinets juridiques ou à compiler des données sur les avocats à proximité. Nous utiliserons les bibliothèques Python populaires pour créer un grattoir robuste qui peut vous aider à recueillir des informations sur les avocats de la région d'Atlanta.

Prérequis
Avant de commencer, assurez-vous que les éléments suivants sont installés :

  • Python 3.x
  • pip (installateur du package Python)

Vous devrez installer ces bibliothèques :

pip install requests lxml csv

Configuration du grattoir
Tout d’abord, importons les bibliothèques nécessaires et configurons nos en-têtes et cookies :

from lxml import html
import os
import csv
import requests
cookies = {
 ‘OptanonAlertBoxClosed’: ‘2024–08–29T14:38:29.268Z’,
 ‘_ga’: ‘GA1.2.1382693123.1724942310’,
 ‘_gid’: ‘GA1.2.373246331.1724942310’,
 ‘_gat’: ‘1’,
 ‘OptanonConsent’: ‘isIABGlobal=false&datestamp=Fri Aug 30 2024 00:17:14 GMT+0600 (Bangladesh Standard Time)&version=5.9.0&landingPath=NotLandingPage&groups=0_106263:1,0_116595:1,0_104533:1,101:1,1:1,0_116597:1,103:1,104:1,102:1,3:1,0_104532:1,2:1,4:1&AwaitingReconsent=false’,
 ‘_ga_JHNLZ3FY7V’: ‘GS1.2.1724954588.3.1.1724955436.0.0.0’,
}
headers = {
 ‘accept’: ‘text/html,application/xhtml xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7’,
 ‘accept-language’: ‘en-US,en;q=0.9,bn;q=0.8’,
 ‘cache-control’: ‘no-cache’,
 ‘dnt’: ‘1’,
 ‘pragma’: ‘no-cache’,
 ‘sec-ch-ua’: ‘“Chromium”;v=”128", “Not;A=Brand”;v=”24", “Google Chrome”;v=”128"’,
 ‘sec-ch-ua-mobile’: ‘?0’,
 ‘sec-ch-ua-platform’: ‘“Windows”’,
 ‘sec-fetch-dest’: ‘document’,
 ‘sec-fetch-mode’: ‘navigate’,
 ‘sec-fetch-site’: ‘cross-site’,
 ‘sec-fetch-user’: ‘?1’,
 ‘upgrade-insecure-requests’: ‘1’,
 ‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36’,
}

Faire la demande
Maintenant, faisons une demande au site Web pour récupérer les données de l'avocat :

response = requests.get(
 ‘https://www.kslaw.com/people?capability_id=&locale=en&office_id=1&page=1&per_page=400&q=&school_id=&starts_with=&title_id',
 cookies=cookies,
 headers=headers,
)

Analyse du code HTML
Nous utiliserons lxml pour analyser le contenu HTML :

webp = html.fromstring(response.content)
all_people_elems = webp.xpath(“//*[@id=’people_grid’]/div[@class=’person’]”)

Enregistrement des données au format CSV
Créons une fonction pour enregistrer nos données récupérées dans un fichier CSV :

def save_csv(filename, data_list, isFirst=False, removeAtStarting=True):
 “””Save data to csv file”””
 if isFirst:
 if os.path.isfile(filename):
 if removeAtStarting:
 os.remove(filename)
 else:
 pass
with open(f’{filename}’, “a”, newline=’’, encoding=’utf-8-sig’) as fp:
 wr = csv.writer(fp, dialect=’excel’)
 wr.writerow(data_list)
# Initialize the CSV file
people_file = f”kslaw_people.csv”
save_csv(people_file, [‘URL’, ‘Name’, ‘Status’, ‘Fax’, ‘Telephone’, ‘Email’, ‘Address’], isFirst=True)

Extraction des données de l'avocat
Passons maintenant en revue les éléments de l'avocat et extrayons les informations pertinentes :

for each_people in all_people_elems:
 name = each_people.xpath(“.//h2/a/text()”)[0]
 href = each_people.xpath(“.//h2/a/@href”)[0]
 full_url = f”https://www.kslaw.com{href}" if href else “URL not found”
 status = each_people.xpath(“.//p/text()”)[0].strip()
 fax = ‘ — ‘
 address = ‘ — ‘
# Extract the Atlanta telephone number
 phone_numbers = each_people.xpath(“.//p[@class=’contacts’]/a[starts-with(@href, ‘tel:’)]/text()”)
 phone_numbers = [phone.strip() for phone in phone_numbers]
 phone_numbers_str = ‘, ‘.join(phone_numbers) if phone_numbers else “Phone numbers not found”
# Extract the email address
 email = each_people.xpath(“.//p[@class=’contacts’]/a[contains(@href, ‘mailto:’)]/text()”)
 email = email[0].strip() if email else “Email not found”
data_list = [full_url, name, status, fax, phone_numbers_str, email, address]
 save_csv(people_file, data_list)
 print(data_list)

Conclusion
Ce script Python vous permet d'extraire les données des avocats d'un site Web juridique spécifique, en vous concentrant sur les avocats d'Atlanta, en Géorgie. En exécutant ce script, vous pouvez rapidement dresser une liste de cabinets juridiques et trouver des avocats à proximité. Ces données peuvent être inestimables pour ceux qui cherchent à entrer en contact avec des avocats ou à effectuer des recherches sur le paysage juridique à Atlanta.

N'oubliez pas d'utiliser ces données de manière responsable et conformément aux conditions d'utilisation du site Web et aux lois en vigueur. Respectez toujours la vie privée des personnes dont vous collectez les données.

Pour ceux qui cherchent à trouver un avocat ou à rechercher des cabinets juridiques, ces données récupérées peuvent constituer un point de départ. Cependant, il est important de compléter ces informations par des recherches supplémentaires, telles que la lecture d'avis, la vérification des dossiers du barreau et le contact personnel des avocats pour s'assurer qu'ils correspondent bien à vos besoins juridiques.

En tirant parti de Python et des techniques de web scraping, vous pouvez collecter efficacement des informations sur les avocats d'Atlanta, en Géorgie, rationalisant ainsi le processus de recherche d'une représentation juridique ou de réalisation d'études de marché dans le secteur juridique.

Prêt à élever votre présence sur le Web ?


Je me spécialise dans la création d'applications Web React.js réactives adaptées à vos besoins uniques. Donnons vie à votre vision !



Embauchez-moi sur Fiverr →
Déclaration de sortie Cet article est réimprimé à: https://dev.to/fazlay/a-technical-guide-to-scraping-attorney-data-in-atlanta-georgia-with-python-3efg?1 s'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3