حصريا | علمتك كيف لجعل scrapy برنامج صغير (مع رمز)!

وعرضة للخطأ عندما يتم توفير حلول هنا scrapy وpycharm التركيب والتكوين، في حين أن التفسير من الأمثلة على شبكة الكلاسيكية بالطبع "الزحف الجرجير 9 دقائق قائمة الكتب"، كل كود خطوة يعطي فهم إلى المحرر، والأخطاء المحتملة يقترح حلا، وقابلة للتشغيل.

دليل

I. مقدمة

II. مبدأ

 2.1 عملية الزحف

 القاموس كتل الإدارات 2.2

 تحليل تدفق البيانات 2.3 scrapy

III. فهمت

IV. القتالية

 4.1 الأول هو لتثبيت scrapy

 4.2 مشروع بناء وتحميل pycharm التكوين وpycharm

 4.3 استخراج العنوان واسم المؤلف

 تحليل تدفق 4.4 scrapy

 4.5 ساعات الصعوبة تعميق

V. مشروع إنشاء scrapy ردود الفعل

 5.1 كيفية العثور على الأخطاء بشكل أسرع

 5.2 مترجم قد يؤدي إلى التعايش بين مجموعة متنوعة من الخطأ

سادسا المعرفة التكميلية

 6.1 الطبقات العنكبوت وطرق

I. مقدمة

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

وتعتقد هناك هواة الزواحف أن scrapy المزايا هو على درجة محددة ذاتيا عالية من الزواحف للدراسة وبحوث التكنولوجيا، لتعلم المعارف أكبر، وبالتالي الانتهاء من الزاحف قتا أطول. وقيل أيضا، scrapy يتم تشغيل python3 أعلاه، لم التطبيق لا اعتقد ذلك مشرق.

الزاحف الويب شعبية، وهو برنامج موجه إلى الزحف نحو أو بيانات على شبكة الإنترنت، ووصف هو أكثر احترافا، وبيانات الزحف HTML لصفحات معينة على شبكة الإنترنت. النهج العام للصفحات الزحف أن تعريف صفحة بوابة، ثم صفحة عموما لديهم URL لصفحة أخرى، لذلك التحق URL الصفحة الحالية يمكن من خلالها الحصول على قائمة الانتظار الزواحف الزحف، ثم تدخل صفحة جديدة ثم متكرر العمليات المذكورة أعلاه.

II. مبدأ

مكتبات شبكة Scrapy استخدام ملتوية للتعامل مع شبكة الاتصالات غير المتزامنة، والهندسة المعمارية واضحة ويحتوي على مجموعة متنوعة من واجهات الوسيطة، والمرونة لإكمال مجموعة متنوعة من الاحتياجات.

في أول محاولة لفهم النتائج والمبادئ التي تعمل scrapy من الزمن، سوف نستخدم هذا العرض الرسم البياني:

2.1 عملية الزحف

الخط الأخضر على الرسم البياني هو تدفق البيانات، بدءا من URL الأولي، وسيتم تسليم جدولة على تحميل لتحميل بعد تحميل وسيتم تسليم العنكبوت لأكثر من التحليل، فإن نتائج التحليل من العنكبوت، وهناك نوعان: واحد هو الحاجة إلى مزيد من الزحف وصلات، مثل وصلات "التالي" قبل التحليل، وسيتم نقل هذه الأشياء إلى جدولة، والآخر هو الحاجة لحفظ البيانات، أرسلوا إلى البند خطوط الأنابيب، حيث هو (تحليل مفصل لمرحلة ما بعد معالجة البيانات ، والترشيح، والتخزين، وما إلى ذلك) المكان. وعلاوة على ذلك، في تدفق البيانات في قناة يمكنك أيضا تثبيت مجموعة متنوعة من الوسيطة، ينفذ المعالجة اللازمة.

القاموس كتل الإدارات 2.2

  • المحرك (Scrapy المحرك): وهي تستخدم لمعالجة معالجة تدفق البيانات من النظام بأكمله، مما اثار الصفقة.

  • جدولة (جدولة): لطلبات تلقي المرسلة عبر المحرك، يتم الضغط على قائمة الانتظار، ويعود المحرك مرة أخرى عند الطلب.

  • تنزيل (تحميل): لمحتوى الويب، والمحتوى على شبكة الإنترنت والعودة إلى العنكبوت تحميل.

  • العناكب (العناكب): العنكبوت هو عمل كبير، والاستفادة منها في تطوير القواعد إلى مجالات محددة عزيمة أو صفحة الويب. الطبقة رد مكتوب يستخدم لتحليل واستخراج البند (أي المكتسبة البند) أو URL إضافي للمتابعة. كل العنكبوت هو المسؤول عن التعامل مع موقع معين (أو بعض).

  • خط أنابيب مشروع (خط أنابيب البند): المسؤولة عن العناكب استخلاصها من مشروع ويب، مهمته الرئيسية هي بيانات واضحة، والتحقق من صحة وتخزينها. عندما صفحة يتم تحليل العنكبوت، سيتم إرسال مشروع خط الأنابيب، وبعد ترتيب معين قليل من معالجة البيانات.

  • تحميل الوسيطة (تنزيل برمجيات وسيطة) : يقع الإطار بين الخطاف والمحرك Scrapy تحميل، أساسا التعامل مع الطلبات والردود بين المحرك وScrapy تحميل.

  • الوسيطة العنكبوت (العنكبوت برمجيات وسيطة): السنانير يتوسطون بين الإطار والمحرك العناكب Scrapy، والعمل الرئيسي هو استجابة عملية الإخراج لطلب الإدخال والعناكب.

  • جدولة الوسيطة (جدولة برمجيات وسيطة): Scrapy بين المحرك وجدولة الوسيطة، التي تنتقل من المحرك إلى طلبات الجدولة Scrapy والردود.

تحليل تدفق البيانات 2.3 scrapy

الخطوات التالية:

STEP 1:  محرك يفتح موقع على شبكة الانترنت (فتح المجال)، والعثور على العنكبوت معالجة الموقع إلى URL طلب العنكبوت (الصورة) أول من الزحف.

الخطوة 2: حصلت العنكبوت من المحرك إلى URL الأول ويتم الزحف إلى طلب جدولة في جدولة (جدولة).

الخطوة 3: محرك URL رجات اتخذت بجانب الصعود إلى جدولة.

الخطوة 4: جدولة بإرجاع URL إلى أن يتم الزحف إلى المحرك، الذي الأمام وURL إلى (تنزيل) تحميل عن طريق وسيط (الاتجاه الطلب (طلب)) تحميل.

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

STEP 6: وردت من المحرك إلى تحميل العنكبوت الاستجابة ويرسل عملية وسيطة التي كتبها العنكبوت (الاتجاه المدخلات).

STEP 7: البند العنكبوت الاستجابة تجهيز والعودة إلى الزحف و (متابعة) لطلب جديد إلى المحرك.

STEP 8: المحرك (عاد العنكبوت) إلى الزحف إلى السلعة خطوط الأنابيب، و(العنكبوت) إعادة طلب جدولة.

STEP 9: (من الخطوة الثانية) ويتكرر حتى لا تكون أكثر طلب جدولة، اغلاق محرك أسفل الموقع.

الاقتباس: "تعرف على Scrapy الشروع في العمل"

الكاتب: JasonDing

الرابط: http: //www.jianshu.com/p/a8aad3bf4dc4

III. فهمت

وقال الإطار scrapy في حين قدم العديد من شعبية علم موقع scrapy، سيكون من الزواحف. دور الإطار هو أن تفعل حزمة العمل المتكررة.

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

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

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

وبناء على هذه الأفكار، تنشأ ببطء الإطار.

إطار ، شعبي، هو عملية مماثلة من نفس الخصائص المستخرج.

IV. القتالية

4.1 الأول هو لتثبيت scrapy

نقطة تثبيت scrapy

إذا إلغاء تثبيت ستة 1.4.1 يظهر

سيحل محله الأمر:

سودو نقطة تثبيت Scrapy --upgrade --ignore مثبتة ستة

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

  • تأكيد Scrapy ما إذا كان التثبيت بنجاح

نسخة scrapy

يجب أن يكون عرض مثل هذا التثبيت بنجاح:

  • بشأن مسألة ماك شيوعا هو "لم يتم تعريف وظيفة حيوية وحدة التهيئة."

ImportError: وحدة ديناميكية لا يعرف وظيفة ال init (init_openssl)

الحل:

تظهر هذه المشكلة السبب الأكثر احتمالا هو أن الثعبان هو 32BIT و، والكمبيوتر ينتمي إلى 64BIT.

كيفية التحقق من نسخة الثعبان منه، وأجهزة الكمبيوتر OS متوسط تفعل؟

-a uname

يمكنك الحصول على معلومات نظام التشغيل الكمبيوتر

منصة استيراد

platform.architecture ()

يمكنك معرفة الإصدار الحالي من الوضع الثعبان، على سبيل المثال:

نوصي هنا "تثبيت تلك الحفرة Scrapy على OSX" بلوق (

4.2 مشروع بناء وتحميل pycharm التكوين وpycharm

في المثال المختار هنا، "الزحف الجرجير تسع نقاط من الكتب" الكلاسيكية، كتاب الجرجير قائمة صلة: الشبكي: //www.douban.com/doulist/1264675/

4.2.1 إنشاء مشروع

أولا، أدخل الأمر في المحطة:

scrapy startproject كتاب

أنشئت بنجاح، ثم سيكون هناك:

مشروع جديد Scrapy "كتاب"، وذلك باستخدام دليل قالب "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/templates/project"، التي أنشئت في:

 / المستخدمين / wuxinyao / سطح المكتب / كتاب

يمكنك أن تبدأ العنكبوت الأول مع:

 كتاب مؤتمر نزع السلاح

 scrapy genspider سبيل المثال example.com

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

scrapy genspider douban https://www.douban.com/doulist/1264675/

فوق ذلك هو URL الزواحف ضد URL

سيتم عرض التعليمات البرمجية التالية بعد نجاحها:

خلق العنكبوت "douban" باستخدام قالب "الأساسية" في الوحدة النمطية:

 book.spiders.douban

4.2.2 الخطوة التالية مع pycharm

Pycharm تحميل URL: HTTP: //www.jetbrains.com/pycharm/download/#section=mac

  • إنشاء الملف الرئيسي

يجب وضع Main.py في الدليل الرئيسي الكتاب الذي تم إنشاؤه تلقائيا وضمان scrapy.cfg main.py في نفس الطبقة.

في نوع main.py:

من scrapy cmdline استيراد

cmdline.execute ( "douban scrapy الزحف" .split ())

  • تعديل douban.py

وجدت العناكب في douban.py الدليل، #allowed_domains علق = ، ووضعها في الوظائف التالية:

مواطنه تحليل (النفس، والاستجابة):

 response.body طباعة

  • إضافة < رئيس >

في setting.py أضاف لين:

USER_AGENT = 'موزيلا / 5.0 (ويندوز NT 6.3، WOW64، رف: 45.0) أبو بريص / 20100101 فايرفوكس / 45.0'

4.2.3 التعليمات: تحميل حزمة لا يمكن استيرادها scrapy

المرجعية التي لم تحل بعد "scrapy"

وبسبب مشاكل إذن pycharm قد يتم تحميل scrapy مباشرة على IDE. سيتم يتكرر الخطأ. ظهور هذه المشكلة هي التالية الحل:

  • مرة أخرى محاولة تحميل scrapy على IDE

ملف - > الإعدادات الافتراضية - >  مشروع مترجم

حدد إصدارا مترجما، بالإضافة إلى الزاوية اليسرى السفلى، scrapy البحث في واجهة جديدة المنبثقة، انقر على تثبيت، يمكنك تحميل.

مشروع مترجم سائل مترجم، كمبيوتر ماك يأتي مع الثعبان، ولكن قد تكون أسباب مختلفة الكثير من الناس سوف تختار لتحميل الثعبان الجديد (مثل نظام التشغيل من 32 بت ترغب في تغيير 64)، وتخزينها في مختلف المسار. وماك يأتي مع الثعبان عند تقديم حزمة جديدة، فإنه من السهل لمشاكل الأذونات، بحيث يمكن للمستخدمين ماك غالبا ما يكون تتعايش التعددية الثعبان مترجم.

في هذه الواجهة، يمكنك تحديد مترجم تريد استخدام:

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

حتى لو كان حمل ناجحا، لن تكون قادرة على تشغيل بنجاح. ولكن هذا هو الحل بسيط نسبيا، يمكنك أن تجرب.

  • إعادة تعديل المسار

تشغيل - > تحرير التكوين

النص المكتوب داخل المسار المطلق main.py، بيثون مترجم داخل حدد الإصدار الذي تريد استخدام مترجم.

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

إخراج التنفيذ الناجح:

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

4.3 استخراج العنوان واسم المؤلف

كان أول عرض شفرة المصدر للموقع:

وجدت في < شعبة الطبقة = "دينار بحريني doulist-الموضوع" > هنا هو مقدمة الكتب نريد

استخراج إشارة المؤلف صياغة بالترتيب التالي:

  • استخراج الإطار: < شعبة الطبقة = "دينار بحريني doulist-الموضوع" >

  • استخراج العنوان: "شعبة / أ / النص () '

  • استخراج: " < شعبة الطبقة = "مجردة" > (*؟) < ر '

  • استخراج النتيجة: "شعبة / SPAN / النص () '

الكاتب voidsky_ الأطفال مثيرة جدا للاهتمام (عبر الجرجير) على هذه القطعة من التعليمات البرمجية:

محدد = scrapy.Selector (الاستجابة)

 كتب = selector.xpath ( '// شعبة ')

 لكل في الكتب:

 عنوان = each.xpath ( 'شعبة / أ / النص ()'). استخراج ()

 معدل = each.xpath ( 'شعبة / SPAN / النص ()'). استخراج ()

 المؤلف = re.search ( ' < شعبة > (*؟) < ر '، each.extract ()، re.S) .group (1)

 طباعة "العنوان: '+ لقب

 طباعة "التصويت: '+ معدل

 مؤلف المطبوعة

 طباعة ''

الاقتباس: "scrapy تثبيت وتبدأ بسرعة حقا - الزحف قائمة الجرجير 9 نقاط."

الكاتب: voidsky_ الأطفال مثيرة جدا للاهتمام

الرابط: http: //www.jianshu.com/p/fa614bea98eb

هذه الاستخدامات كود كسباث، كسباث هو العثور على المعلومات في لغة XML وثيقة، ولكن يمكن أيضا أن تستخدم في HTML. الحصول على معظم محتويات التسمية لا تحتاج لكتابة التعابير العادية معقدة، ويمكن استخدامها مباشرة كسباث. يسرد الجدول التالي التعبير الشائع:

يضاف هذا الرمز قبل douban.py وتحليل وظيفة (النفس، والاستجابة) أدناه، قبل "response.body الطباعة" وعلق، هذا إلى جانب مباشرة.

تحليل تدفق 4.4 scrapy

في الحقيقة، أنا أكتب إليكم، وقد تم تشكيل بريمج كاملة، ويجب أن يكون الإخراج الناتج:

ومن المرجح أن البرنامج يمر أولا لا يمكن الحصول على مثل هذه النتيجة، وظهور العديد من الأخطاء، ولكن يمكن رؤية بعض هيكل للمساعدة في فهم الأشياء scrapy عند تصحيح:

2017/07/20 س س: 50: 53  INFO: تمكين ملحقات:

......

2017/07/2020:50:53  INFO: تمكين تحميل برمجيات وسيطة

......

2017/07/2020:50:53  INFO: تمكين العنكبوت برمجيات وسيطة:

......

2017/07/2020:50:53  INFO: تمكين خطوط الأنابيب البند:

......

2017/07/2020:50:53  INFO: العنكبوت فتح

......

2017/07/2020:50:54  INFO: مغلق العنكبوت (انتهى)

......

مشاكل محتملة:

إذا كنت لا تحصل على إخراج أعلاه، ثم ركض نظرة فاحصة على الرمز، وإذا كان هناك هذا واحد:

UnicodeDecodeError: "أسكي" الترميز لا يمكن فك بايت 0xe6 في موقف 0: ترتيبي ليس في النطاق (128)

وصف الافتراضي الثعبان شارع غير ASCII الترميز، الترميز والصراع يونيكود، لذلك سيتم الإعلام عن الخطأ هذا اللقب

مجرد إضافة في main.py في:

تميز الكلية استيراد

تحديث (SYS)

sys.setdefaultencoding ( 'UTF8')

سوف تكون قادرة على حل المشكلة.

4.5 ساعات الصعوبة تعميق

سبق أن المشروعات الصغيرة نظرة فاحصة، البند وpipline لا يشاركون، فقط الزحف البيانات وأي عمليات التخزين، والسمات الهيكلية لا ينعكس scrapy تماما، وسوف يكون آخر الكلاسيكية مع مشروع صغير على بنية ووظيفة scrapy دينا مزيد من التفصيل.

4.5.1 الخطوة الأولى لالدلائل ولدت التفسير:

أدخل الأمر:

scrapy startproject myproject

 ليرة سورية myproject

  • scrapy.cfg: الملامح العامة للمشروعات

  • /: مشروع وحدة بيثون، بعد التعليمة البرمجية أضافك هنا

  • myproject / items.py: البنود ملفات المشاريع

  • myproject / pipelines.py: خط أنابيب ملفات المشاريع

  • myproject / settings.py: الملامح العامة للمشروعات

  • myproject / العناكب: العنكبوت دليل قطرة

4.5.2 السلعة بسهولة مثل الثعبان في القاموس

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

وقد لوحظت scrapy في تصريحات عنصر في صيغة نهائية مكتوبة في الملف الخاص الثعبان (مثل مثال douban.py)، ويمكن تخزين انتزاع البيانات.

في ملف الثعبان محلية الصنع (في هذه الحالة تسمى project.py)، تحتاج لاستيراد وظيفة العنصر

من project.py MyprojectItem استيراد

ضبط الانتاج المتغير 4.5.3 الإعداد في تغذية

إذا كانت تريد أن تتفوق جداول النموذج لطباعة، ثم، ضرورة أن توضع في settig.py في البند القبض على البيانات المخزنة، إضافة السطرين التاليين:

FEED_FORMAT: يشير إلى تنسيق الإخراج، CSV / XML / سلمان /

FEED_URI: موقف يدل على الانتاج، ويمكن أن تكون محلية، أو قد يكون خادم FTP

على سبيل المثال:

FEED_URI = u'file: /// G: //dou.csv "

FEED_FORMAT = "CSV"

في هذه الحالة، ملف الإخراج موجود أقراص G، ودعا dou.csv، هو ملف CSV.

V. مشروع إنشاء scrapy ردود الفعل

5.1 كيفية العثور على الأخطاء بشكل أسرع

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

5.2 مترجم قد يؤدي إلى التعايش بين مجموعة متنوعة من الخطأ

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

سادسا المعرفة التكميلية

6.1 الطبقات العنكبوت وطرق

  • اسم: يجب أن يكون اسم العنكبوت فريدة من نوعها ومن نوع السلسلة، أدخله عند تشغيل العنكبوت

  • allow_domains: تسمح طريقة المجال يمكن أن يكون سلسلة أو قائمة، واختياري وليس اجباريا.

  • start_urls: تحديد عنوان URL الخاص الزيارة الأولى

  • start_requests (): الحصول على رابط افتراضي من start_urls الداخل، ويولد طلبا لرابط في رد الافتراضي إلى تحليل. يتم تنفيذ الجدول الزمني من هنا. ومن هنا يمكن إعادة كتابة من أجل البدء في الوصول إلى URL المحدد، وتستخدم عادة عند محاكاة الهبوط، الحصول على رمز ديناميكية. ثم يمكنك الحصول على رمز ديناميكي مثل هذا:

من طلب استيراد scrapy.http، FromRequest

start_requests ():

 عودة # ترغب في الحصول على الكعكة وأضاف ميتا

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

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

الدخول صفر (النفس، والاستجابة):

 كود = response.xpath ( '// H1 / النص ()'). استخراج () # هو للحصول على رمز وعصائر يمكن الجمع بين إعادة

 رؤوس = {} # الهبوط رأس متصفح التناظرية

 POSTDATA = {} البيانات #server إلى آخر، بما في ذلك الحصول على كود فوق

 عودة

 # ملاحظة أن POSTDATA لم تستخدم urlencode، والكعكة باستخدام استجابة عاد من الكعكة، وهو أعلى start_requests حيث كوكي السجلات. أيضا في هذا الوقت هو عنوان الموقع URL الذي بعد حقا البيانات، وعموما يمكن الحصول على الحرائق. في الواقع، وهنا يمكنك فقط الحصول على هذا الوقت الكعكة، حتى تتمكن من الحصول على بعد الكعكة الهبوط. وتسمى هذه الطريقة بعد أن هبطت بنجاح، ثم صفحة أخرى يمكن الآن الوصول بعد الهبوط باتباع هذه الطريقة make_requests_from_url loged الأسلوب.

 # هنا إذا كنت بحاجة إلى إدخال رمز التحقق، ويمكن استخدامها لتحميل الصور إدخالها يدويا، يمكنك ان ترى قطعة أخرى من السجل.

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

لاحظ أيضا أن يتم استدعاء start_requests تلقائيا مرة واحدة فقط.

make_requests_from_url (رابط):

هذا الأسلوب هو عند تحديد عنوان الموقع من الزمن، من خلال هذه الطريقة، يمكن أن تعود تلقائيا إلى تحليل. طريقة scrapy يمكن استدعاء تلقائيا تحليل، مجرد إلقاء نظرة على دراستي الحالية، سوى اثنين (start_requests وmake_requests_from_url). وهذا أمر مهم، لأن الجمع بين CrawlSpider قال خلف القاعدة.

رابط لا يمكن أن يتحقق من خلال start_urls الوصول داخل make_requests_from_url ():

loged صفر (النفس، والاستجابة):

 للرابط في start_urls:

 make_requests_from_url الغلة (رابط)

تحليل ():

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

حكم ():

تحميل حكم توجيهات بشأن كيفية الحصول على وظيفة وصلة، وتنفيذ محددة هي:

من LinkExtractor scrapy.linkextractors استيراد كما لقئ

اقتباس: ChrisPop

الرابط: http: //www.jianshu.com/p/a1018729d695

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

وو يان ياو حملت البيانات المرسلة أعضاء المجموعة الزواحف، حاليا في جامعة الصين الزراعية الهندسة الزراعية المدرسة المهنية، والكمبيوتر البيولوجي الرئيسي الإحصائي عبر المجال، القادمة إلى دراسات ميدانية الولايات المتحدة biostastics بها.

حصريا | الألعاب البيانات: اعتمدت نهائي دوري أيضا على!

حدث ليلة واحدة! الجمال السويسري البالغ من العمر 20 عاما وتنسى نيمار قضاء الليل!

تسينغهوا والقطع: السفر عبر الفضاء الحضري المحورية تقرير التنمية الصين!

من أجل الطفل غروت إلى بيع منغ، الأعجوبة زمني تغيرت!

تقنية تشاو | "الفضاء السهم الأزرق" 80 طنا من اختبار محرك مولد غاز الاشتعال نجاح الجولة الأولى

وإذ تشير إلى بداية من القلب للحزب لتنفيذ مدينة دائمة تسيقونغ، وهما منظمتان جديدة للاحتفال بالذكرى 40 للاصلاح والانفتاح اللوحة معرض التصوير الفوتوغرافي

مباراة استعدادية لراشفورد 2 أهداف ، وأحرز مارتيالم هيتاريان فيلايني مانشستر يونايتد 5-2 جالاكسي

حصريا | ناجحة منظم 9:00 اقتراح: البرمجة؟ في الواقع، ليس مهما جدا!

إذا آينشتاين على حق مما كنا نظن ربما سانتا كلوز الدهون

قراءة المقال شبكة معقدة (تطبيقات، ونموذج ودراسة التاريخ) | الحصرية

المصور ووهان | ظاهرة فائقة الساخنة في 2-11، خط

مقالة حصرية تتفهم نظام المعرفة نظام التوصية (التقييم ، القتال الفعلي ، مواد تعليمية)