"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > دليل فني لتقطيع بيانات المحامي في أتلانتا، جورجيا باستخدام بايثون

دليل فني لتقطيع بيانات المحامي في أتلانتا، جورجيا باستخدام بايثون

تم النشر بتاريخ 2024-11-08
تصفح:869

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

في هذا الدليل، سنستكشف كيفية استخدام بايثون لاستخراج بيانات المحامين من المواقع القانونية، مع التركيز على المحامين في أتلانتا، جورجيا. يمكن أن تكون هذه المعلومات ذات قيمة لأولئك الذين يتطلعون إلى العثور على محامٍ، أو البحث عن شركات قانونية، أو تجميع بيانات عن المحامين القريبين. سنستخدم مكتبات Python الشهيرة لإنشاء أداة استخراج قوية يمكنها مساعدتك في جمع المعلومات عن المحامين في منطقة أتلانتا.

المتطلبات الأساسية
قبل أن نبدأ، تأكد من تثبيت ما يلي:

  • بايثون 3.x
  • نقطة (مثبت حزمة بايثون)

ستحتاج إلى تثبيت هذه المكتبات:

pip install requests lxml csv

إعداد المكشطة
أولاً، لنستورد المكتبات الضرورية ونقوم بإعداد الرؤوس وملفات تعريف الارتباط:

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 النصي استخراج بيانات المحامي من موقع قانوني محدد، مع التركيز على المحامين في أتلانتا، جورجيا. من خلال تشغيل هذا البرنامج النصي، يمكنك تجميع قائمة بالمكاتب القانونية بسرعة والعثور على محامين قريبين منك. يمكن أن تكون هذه البيانات لا تقدر بثمن لأولئك الذين يتطلعون إلى التواصل مع المحامين أو إجراء بحث حول المشهد القانوني في أتلانتا.

تذكر استخدام هذه البيانات بطريقة مسؤولة وبما يتوافق مع شروط خدمة الموقع والقوانين ذات الصلة. احترم دائمًا خصوصية الأفراد الذين تجمع بياناتهم.

بالنسبة لأولئك الذين يسعون إلى العثور على محام أو البحث عن شركات قانونية، يمكن أن توفر هذه البيانات المسروقة نقطة بداية. ومع ذلك، من المهم استكمال هذه المعلومات بأبحاث إضافية، مثل قراءة المراجعات، والتحقق من سجلات نقابة المحامين، والاتصال شخصيًا بالمحامين للتأكد من أنهم مناسبون لاحتياجاتك القانونية.

من خلال الاستفادة من تقنيات بايثون وتجميع الويب، يمكنك جمع معلومات بكفاءة عن المحامين في أتلانتا، جورجيا، وتبسيط عملية العثور على التمثيل القانوني أو إجراء أبحاث السوق في القطاع القانوني.

هل أنت على استعداد لرفع مستوى تواجدك على الويب؟


أنا متخصص في إنشاء تطبيقات الويب React.js سريعة الاستجابة والمصممة خصيصًا لتلبية احتياجاتك الفريدة. دعونا نجعل رؤيتك تنبض بالحياة!



وظفني على Fiverr →
بيان الافراج تتم إعادة طبع هذه المقالة على: https://dev.to/fazlay/a-technical-guide-to-scraping-turd-data-in-atlanta-georgia-withon-3efg؟1 إذا كان هناك أي انتهاك ، يرجى الاتصال [email protected] لحذفها.
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3