В этом руководстве мы рассмотрим, как использовать Python для сбора данных об адвокатах с юридических веб-сайтов, уделяя особое внимание адвокатам в Атланте, штат Джорджия. Эта информация может быть полезна для тех, кто хочет найти адвоката, изучить юридические фирмы или собрать данные об адвокатах поблизости. Мы будем использовать популярные библиотеки Python для создания надежного парсера, который поможет вам собирать информацию об адвокатах в районе Атланты.
Предварительные требования
Прежде чем мы начнем, убедитесь, что у вас установлено следующее:
Вам потребуется установить следующие библиотеки:
pip install requests lxml csv
Настройка парсера
Для начала давайте импортируем необходимые библиотеки и настроим наши заголовки и файлы cookie:
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’, }
Оформление запроса
Теперь давайте сделаем запрос на сайт для получения данных адвоката:
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, )
Разбор HTML
Мы будем использовать lxml для анализа содержимого HTML:
webp = html.fromstring(response.content) all_people_elems = webp.xpath(“//*[@id=’people_grid’]/div[@class=’person’]”)
Сохранение данных в CSV
Давайте создадим функцию для сохранения наших очищенных данных в файл 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)
Извлечение данных об адвокате
Теперь давайте пройдемся по элементам адвоката и извлечем соответствующую информацию:
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)
Заключение
Этот скрипт Python позволяет вам собирать данные об адвокатах с определенного юридического веб-сайта, ориентированного на адвокатов в Атланте, штат Джорджия. Запустив этот скрипт, вы сможете быстро составить список юридических фирм и найти юристов поблизости. Эти данные могут оказаться неоценимыми для тех, кто хочет связаться с адвокатами или провести исследование правовой среды в Атланте.
Не забывайте использовать эти данные ответственно и в соответствии с условиями обслуживания веб-сайта и соответствующими законами. Всегда уважайте конфиденциальность лиц, чьи данные вы собираете.
Для тех, кто хочет найти юриста или исследовать юридические фирмы, эти собранные данные могут стать отправной точкой. Тем не менее, важно дополнить эту информацию дополнительными исследованиями, такими как чтение обзоров, проверка записей коллегии адвокатов и личное обращение к адвокатам, чтобы убедиться, что они соответствуют вашим юридическим потребностям.
Используя Python и методы очистки веб-страниц, вы можете эффективно собирать информацию об адвокатах в Атланте, штат Джорджия, упрощая процесс поиска юридического представителя или проведения исследования рынка в юридическом секторе.
Я специализируюсь на создании адаптивных веб-приложений React.js, адаптированных к вашим уникальным потребностям. Давайте воплотим ваше видение в жизнь!
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3