القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة.
يمكن أن يكون تجريف HTML أمرًا صعبًا ، لذا تأكد من فهم هذه العملية بقليل من ممارسة Python.
يعد Twitter أحد أكثر منصات التواصل الاجتماعي تأثيرًا على الإطلاق. يستخدم ملايين الأشخاص بمن فيهم كبار السياسيين والمشاهير والمديرين التنفيذيين المنصة لمشاركة أفكارهم كل يوم.
تعد علامة التبويب "الاتجاه" واحدة من أفضل الأماكن للتعرف على الأخبار في الوقت الفعلي ومشاعر وسائل التواصل الاجتماعي. يمكنك تحليل هذه البيانات واستخدامها لتخطيط إعلانات العلامة التجارية وتشغيل الحملات وزيادة المبيعات من خلال الطيات. ولكن كيف يمكنك الحصول على أفضل عشر علامات تصنيف على Twitter؟
عملية بناء الخوارزمية
تتمثل الخطوة الأولى لبناء أي برنامج في تدوين وفهم الخطوات المطلوبة لإنشاء مكشطة Twitter. هم:
- افتح جوجل كروم.
- قم بزيارة صفحة Twitter الشائعة.
- اجمع الهاشتاج ورابط الصفحة الخاصة بهما.
- احفظ البيانات في جدول بيانات.
هذا بمثابة خوارزمية بيان المشكلة.
فهم صفحة ويب Twitter
تحتاج إلى معرفة كيفية قيام صفحة الويب بترميز بياناتها قبل أن تتمكن من استخراجها. يساعد كثيرًا إذا كان لديك فهم جيد لـ أساسيات HTML و CSS.
اتبع هذه الخطوات لمعرفة كيفية تمثيل Twitter لعلامة التصنيف الشائعة وعنوان URL الخاص بها:
- يزور صفحة تويتر الشائعة. يمكنك أيضًا الانتقال إلى Twitter.com → يستكشف → الشائع لمشاهدته.
- افحص العمود الرئيسي باستخدام Chrome Dev Tools. اذهب إلى القائمة (3 نقاط)>المزيد من الأدوات>ادوات المطورين وتحريك أداة منتقي العناصر فوق منطقة الاتجاه.
- المخطط الزمني الرائج هو ملف شعبة مع ال أريا التسمية السمة التي قيمتها "المخطط الزمني: استكشاف". تحوم فوق الترميز في ملف عناصر لوحة لفهم بنية الصفحة بشكل أفضل. آخر شعبة يخزن الهاشتاج / الموضوع الرائج. استخدم div باعتباره عدادًا وكرر كل عناصر div في الصفحة التي تحتوي على الموضوع / الهاشتاج الشائع. يتم تخزين المحتوى داخل ملف فترة أو اثنين من عناصر الامتداد. راقب علامة التبويب المفتوحة ولاحظ التسلسل الهرمي. يمكنك استخدام هذا لتكوين تعبير XPath. تعبير XPath لهذا العنصر المحدد هو:
كرر واستهدف div [3] و div [4] و div [5] وهكذا. بالنسبة لأهم عشر علامات تصنيف ، يعمل العداد من 3 إلى 13. يصبح XPath المعمم:'//div[@aria-label="التسلسل الزمني: استكشف"] / div [1] / div [3] / div [1] / div [1] / div [1] / div [1] / div [2] / span [1]'
//div[@aria-label="التسلسل الزمني: استكشف"] / div [1] / div [{i}] / div [1] / div [1] / div [1] / div [1] / div [2] / span [1]'
- انقر فوق أي علامة تصنيف لفهم عنوان URL لصفحاتها. إذا قارنت عناوين URL ، فيجب أن تلاحظ أن معلمة طلب البحث فقط هي التي تتغير لتتطابق مع اسم علامة التصنيف. يمكنك استخدام هذه البصيرة لإنشاء عناوين URL دون استخراجها فعليًا.
يستخدم هذا المشروع وحدات وأدوات Python التالية:
1. وحدة الباندا
أنت تستطيع استخدم فئة Pandas DataFrame لتخزين علامات التجزئة والروابط الخاصة بها في تنسيق جدولي. سيكون هذا مفيدًا عندما يتعلق الأمر بإضافة هذه المحتويات إلى ملف CSV الذي يمكنك مشاركته خارجيًا.
2. وحدة الوقت
استخدم وحدة الوقت لإضافة تأخير إلى برنامج بايثون للسماح بتحميل محتويات الصفحة بالكامل. يستخدم هذا المثال تأخيرًا قدره 15 ثانية ، ولكن يمكنك التجربة واختيار التأخير المناسب لظروفك.
3. وحدة السيلينيوم
يمكن للسيلينيوم أتمتة عملية التفاعل مع الويب. يمكنك استخدامه للتحكم في مثيل متصفح الويب ، وفتح الصفحة الشائعة ، ثم قم بالتمرير لأسفل. لتثبيت السيلينيوم في بيئة بايثون الخاصة بك ، افتح ملف صالة وتنفيذهانقطة تثبيت السيلينيوم.
4. سائق الويب
استخدم برنامج تشغيل ويب بالاشتراك مع السيلينيوم للتفاعل مع المتصفح. تتوفر برامج تشغيل ويب مختلفة بناءً على المتصفح الذي تريد تشغيله تلقائيًا. لهذا الإصدار ، استخدم متصفح Google Chrome الشهير. لتثبيت برنامج تشغيل الويب لمتصفح Chrome:
- تحقق من إصدار المتصفح الذي تستخدمه من خلال زيارة قائمة طعام (3 نقاط) > مساعدة>حول جوجل كروم.
- لاحظ إصدار المتصفح ؛ في هذه الحالة هو 106.0.5249.62.
- إذهب إلى... الخاص بك صالة واكتب تثبيت النقطة chromedriver-binary == version_number:
إذا لم يكن هناك إصدار مطابق ، فستعرض لك النقطة قائمة بتلك المتاحة ؛ اختر الأقرب إلى إصدار chrome الخاص بك.نقطة ثَبَّتَ chromedriver-الثنائية==106.0.5249.62
كيفية بناء مكشطة تويتر
اتبع هذه الخطوات لإنشاء برنامجك والحصول على علامات تصنيف شائعة في الوقت الفعلي. يمكنك العثور على الكود المصدري الكامل في هذا مستودع جيثب.
- قم باستيراد الوحدات المطلوبة إلى بيئة بايثون.
# استيراد الوحدات المطلوبة
من السيلينيوم يستورد webdriver
منالسيلينيوم.webdriver.شائع.بواسطةيستوردبواسطة
يستورد chromedriver_binary
يستورد وقت
يستورد الباندا مثل pd - قم بإنشاء كائن لتهيئة ChromeDriver وتشغيل متصفح Google Chrome باستخدام ملف webdriver. كروم() وظيفة.
# افتح متصفح جوجل كروم
المتصفح = webdriver. كروم() - افتح صفحة Twitter الشائعة عن طريق تمرير عنوان URL الخاص بها إلى ملف يحصل() وظيفة.
# افتح صفحة Twitter الشائعة
browser.get ('https://twitter.com/explore/tabs/trending') - قم بتطبيق تأخير حتى يتم تحميل محتويات الصفحة بالكامل.
# تأخير لتحميل محتوى الصفحة
وقت.ينام(15) - قم بإنشاء قائمة فارغة لتخزين علامات التجزئة وقم بتعريف حلقة تمتد من 3 إلى 13 لمطابقة المتغير في تعبير XPath من قبل.
# تهيئة القائمة لتخزين الموضوعات المتداولة وعلامات التصنيف
trending_topic_content = []# اجمع الموضوعات وعلامات التصنيف على صفحة Twitter الشائعة
لأني في النطاق (3،13): - استخدم ال find_element () وظيفة وتمرير محدد XPath للحصول على الموضوعات الشائعة وعلامات التصنيف على Twitter:
xpath = f'//div[@aria-label="التسلسل الزمني: استكشف"] / div [1] / div [{i}] / div [1] / div [1] / div [1] / div [1] / div [2] / span [1]'
trending_topic = browser.find_element (بواسطة. XPATH ، xpath)
trending_topic_content.ألحق(موضوع مشهور.نص) - قم بإنشاء قائمة فارغة لتخزين جميع عناوين URL وقم بإعلان حلقة يتم تشغيلها عبر جميع علامات التجزئة.
استخدم عامل تشغيل الشريحة لحذف علامة التجزئة لإنشاء عنوان URL الخاص به واستبدال المسافات بترميز URL ، %20. أضف الروابط إلى القائمة.# إنشاء عناوين URL باستخدام علامات التجزئة التي تم جمعها
عناوين url = []
بالنسبة لـ i in trending_topic_content:إذا بدأت ("#"):
أنا = أنا [1:]
url ='https://twitter.com/search? ف =٪ 23' + أنا + '&src = trend_click'
آخر:
url = 'https://twitter.com/search? ف =' + أنا + '&src = trend_click'
url = url.replace ("", "%20")
عناوين url.ألحق(عنوان url) - أنشئ قاموسًا لزوجًا من المفاتيح والقيمة باستخدام مفاتيح مثل علامات التصنيف والقيم كعناوين URL الخاصة بهم.
# إنشاء قاموس يحتوي على كل من الهاشتاج وعناوين URL
dic = {'الوسم': trending_topic_content،'URL': urls} - تحويل القاموس غير المهيكل إلى جدول بيانات جدول.
# تحويل القاموس إلى إطار بيانات في الباندا
df = pd. إطار البيانات (DIC)
مطبعة(مدافع) - احفظ DataFrame في ملف CSV يمكنك عرضه في Microsoft Excel أو معالجته بشكل أكبر.
# تحويل إطار البيانات إلى تنسيق قيمة مفصولة بفواصل بدون أرقام تسلسلية
df.to_csv ("Twitter_HashTags.csv"، الفهرس = خطأ)
اكتساب رؤى قيمة باستخدام تجريف الويب
يعد تجريف الويب طريقة قوية للحصول على البيانات المطلوبة وتحليلها لاتخاذ القرارات. Beautiful Soup هي مكتبة رائعة يمكنك تثبيتها واستخدامها لكشط البيانات من أي ملف HTML أو XML باستخدام Python.
باستخدام هذا ، يمكنك كشط الإنترنت للحصول على عناوين الأخبار في الوقت الفعلي ، وأسعار المنتجات ، والنتائج الرياضية ، وقيمة الأسهم ، والمزيد.