سؤال

وأريد أن الزحف موقع مع غرسمونكي وأتساءل عما إذا كان هناك طريقة أفضل لتخزين القيم مؤقتا من مع GM_setValue.

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

وخطتي الحالية هي لفتح كل ملف في التبويب هو نفسه، بحيث يبدو أكثر وكأنه شخص التصفح العادي (سيتم تحميل أي المغلق، scrits والصور عن طريق المتصفح). ثم تخزين URL تويتر مع GM_setValue. مرة واحدة وقد تم الزحف إلى جميع صفحات الملف الشخصي، إنشاء صفحة باستخدام القيم المخزنة.

وأنا لست سعيدة جدا مع خيار التخزين، وبالرغم من ذلك. ربما هناك طريقة أفضل؟

ولقد نظرت إدراج تعريف المستخدمين في الصفحة الحالية كي أتمكن من جميع معالجتها مع المثال النصي نفسه، ولكن أنا لست متأكدا مما إذا كان يبدو مدعوم indistignuishable من طلبات المستخدمين بدأت العادية.

هل كانت مفيدة؟

المحلول

ولقد كان مشروع مماثل حيث كنت بحاجة للحصول على مجموعة كبيرة من (بيانات خط فاتورة) من موقع على شبكة الانترنت، وتصديره إلى قاعدة بيانات المحاسبة.

هل يمكن إنشاء .aspx اتصال (أو PHP الخ) النهاية الخلفية، الذي يعالج البيانات وظيفة ويخزنها في قاعدة بيانات.

ويمكن تخزين أي بيانات تريد من صفحة واحدة في شكل (الخفية باستخدام خصائص أسلوب إذا كنت تريد)، وذلك باستخدام أسماء الحقول أو في id لتحديد البيانات. ثم كل ما عليك القيام به هو جعل العمل شكل صفحة .aspx وتقديم نموذج باستخدام جافا سكريبت.

و(بدلا من ذلك يمكنك إضافة زر إرسال إلى الصفحة، مما يسمح لك للتحقق من القيم النموذج قبل الخضوع لقاعدة البيانات).

نصائح أخرى

وأعتقد أن عليك أن تسأل نفسك أولا لماذا كنت تريد استخدام غرسمونكي لمشكلة معينة. وقد وضعت غرسمونكي كوسيلة لتعديل تجربة واحدة في التصفح - وليس كما عنكبوت على شبكة الإنترنت. بينما كنت قد تكون قادرة على الحصول غرسمونكي القيام بذلك باستخدام GM_setValue، أعتقد أنك سوف تجد الحل الخاص بك أن تكون kludgy ويصعب تطويرها. هذا، وسوف تتطلب العديد من الخطوات اليدوية (مثل فتح كل تلك علامات التبويب، وتطهير المتغيرات غرسمونكي بين أشواط من السيناريو الخاص بك، وما إلى ذلك).

هل أي شيء تقومون به يتطلب جافا سكريبت على الصفحة ليتم تنفيذها؟ إذا كان الأمر كذلك، قد ترغب في النظر في استخدام بيرل و <لأ href = "http://search.cpan.org/~sprout/WWW-Mechanize-Plugin-JavaScript-0.007a/lib/WWW/Mechanize/Plugin/JavaScript. مساء "يختلط =" نوفولو noreferrer "> WWW :: :: يمكنن المساعد :: جافا سكريبت . خلاف ذلك، وأود أن أوصي بأن تفعل كل هذا في برنامج نصي بيثون بسيط. هل تريد أن نلقي نظرة على urllib2 وحدة. على سبيل المثال، نلقي نظرة على التعليمات البرمجية التالية (لاحظ أنه يستخدم cookielib لدعم الكوكيز، والتي من المرجح أن تحتاج إذا السيناريو الخاص بك يتطلب منك أن تكون مسجلا في الموقع):

import urllib2
import cookielib
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookielib.CookieJar()))
response = opener.open("http://twitter.com/someguy")
responseText = response.read()

وبعد ذلك يمكنك أن تفعل كل من المعالجة التي تريدها باستخدام عبارات عادية.

هل تعتبر جوجل التروس؟ ومن شأن ذلك أن يوفر لك الوصول إلى قاعدة بيانات SQLite المحلية التي يمكنك تخزين كميات كبيرة من المعلومات في.

<اقتباس فقرة>   

والسبب لأنه يريد غرسمونكي   هو أن الصفحة التي سيتم زحف يفعل   لن يوافق حقا من الروبوتات.   بدا غرسمونكي مثل أسهل   طريقة لجعل نظرة الزاحف   شرعية.

والواقع تلويث زاحف الخاص بك من خلال متصفح لا تجعل من أن أكثر شرعية. كنت لا تزال كسر شروط استخدام الموقع! WWW :: يمكنن على سبيل المثال هو على قدم المساواة مناسبة تماما لسلسلة وكيل "محاكاة ساخرة" المستخدم الخاص بك، ولكن هذا والزحف هو، إذا كان الموقع لا تسمح العناكب / الزواحف وغير قانوني!

<اقتباس فقرة>   

والسبب لأنه يريد غرسمونكي هو أن الصفحة التي سيتم زحف لا يوافق حقا من الروبوتات. بدا غرسمونكي مثل أسهل طريقة لجعل الزاحف تبدو مشروعة.

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top