নোড.জেজে HTML- পার্সার [বন্ধ]


198

রুবি মত সেখানে কিছু nokogiri nodejs উপর? আমি ব্যবহারকারী-বান্ধব এইচটিএমএল-পার্সার বলতে চাইছি।

আমি নোড.জেএস মডিউল পৃষ্ঠায় কিছু পার্সার দেখেছি, তবে আমি সুন্দর এবং সতেজ কিছু খুঁজে পাচ্ছি না।


3
"বন্ধুত্বপূর্ণ" বলতে কী বোঝ? নোকোগিরির এক্সপ্যাথ এবং সিএসএস নির্বাচক সমর্থন মত নোড দিয়ে কাজ করতে এবং নির্বাচন করতে সুবিধাজনক? অবৈধ "ট্যাগ স্যুপ" এইচটিএমএল পার্স করতে সক্ষম?
ফ্রেগজ

আপনি যদি jQuery নিয়ে স্বাচ্ছন্দ্য বোধ করেন তবে এই উত্তরটি বিবেচনা করুন ।
লুসিও পাইভা

উত্তর:


446

আপনি নির্মাণ করতে চান করে DOM আপনি ব্যবহার করতে পারেন jsdom

এর রয়েছে চীয়ারীত্ত , এটা হয়েছে jQuery এর ইন্টারফেস এবং এটা jsdom এর পুরোনো সংস্করণগুলি তুলনায় অনেক দ্রুত, যদিও এই দিন তারা কর্মক্ষমতা একই রকম।

আপনি htmlparser2 , যা একটি স্ট্রিমিং পার্সার, এবং তার মানদণ্ড অনুসারে এটি অন্যদের চেয়ে দ্রুত এবং ডিফল্টরূপে কোনও ডিওএম বলে মনে হতে পারে। এটি একটি ডিওএম উত্পাদন করতে পারে, কারণ এটি হ্যান্ডলারের সাথেও বান্ডিল রয়েছে যা একটি ডিওএম তৈরি করে। এটি পার্সার যা চিরিও ব্যবহার করে।

parse5 এও দেখতে ভাল সমাধানের মতো লাগে। এটা তোলে মোটামুটি সক্রিয় (11 দিন থেকে গত এই আপডেটে হিসাবে কমিট) WHATWG-অনুবর্তী হয়, এবং ব্যবহার করা হয় jsdom , কৌণিক এবং পলিমার

এবং যদি আপনি ওয়েব স্ক্র্যাপিংয়ের জন্য এইচটিএমএল বিশ্লেষণ করতে চান তবে আপনি ওয়াইকিউএল 1 ব্যবহার করতে পারেন । এটির জন্য একটি নোড মডিউল রয়েছে । ওয়াইকিউএল আমি মনে করি যদি আপনার এইচটিএমএল কোনও স্থির ওয়েবসাইট থেকে থাকে তবে আপনি নিজের কোড এবং প্রক্রিয়াকরণ ক্ষমতা নয়, কোনও পরিষেবায় নির্ভর করছেন the যদিও নোট করুন যে পৃষ্ঠাটির ওয়েবসাইটের রোবট টেক্সটটি অনুমোদিত না হলে এটি কাজ করবে না, ওয়াইকিউএল এটি দিয়ে কাজ করবে না।

আপনি যে ওয়েবসাইটটি স্ক্র্যাপ করার চেষ্টা করছেন তা যদি গতিশীল হয় তবে আপনার উচিত ফ্যান্টমজসের মতো একটি হেডলেস ব্রাউজার ব্যবহার করা । এছাড়াও কটাক্ষপাত আছে casperjs আপনি phantomjs বিবেচনাধীন। আর আপনার সাথে নোড থেকে casperjs নিয়ন্ত্রণ করতে পারেন SpookyJS

Phantomjs পাশে আছে zombiejs । ন্যানডজে এম্বেড করা যায় না এমন ফ্যান্টমজগুলির থেকে পৃথক, জম্বিজেস কেবল একটি নোড মডিউল।

পরবর্তী সমাধানগুলির জন্য একটি নেটটুট + সারসংক্ষেপ রয়েছে


1 আগস্ট ২০১৪ সাল থেকে, ওয়াইকিউ লাইব্রেরি, যা ওয়াইকিউএল-এর প্রয়োজনীয়তা, এখন আর সক্রিয়ভাবে পরিচালিত হয় না, উত্স


1
আপনি htmlparser2 থেকে ডোমহ্যান্ডলার মডিউল (এইচটিএমপালসার 2 এর সাথে বান্ডিল) ব্যবহার করে DOM পেতে পারেন। তারা ডিওএম তৈরির ওভারহেড ছাড়াই অন্য ধরণের প্রসেসিং এইচটিএমএলকে অনুমতি দেওয়ার উদ্দেশ্যে পৃথক করা হয়েছে are
esp

@ এসপি ধন্যবাদ, আমি এটি অ-মানক ডিওএম বলে মনে করার আগে আমি সেই বিভাগটি সেই অনুযায়ী পরিবর্তন করেছি।
ফরিদ নুরি নেশাত

আপনি কীভাবে ক্রলিংয়ের জন্য ওয়াইকিউএল নিশ্চিত তা নিশ্চিত নই - মার্কআপ প্রক্রিয়াকরণ না করে ওয়েব পরিষেবাদির ফলাফলগুলিতে যোগ দেওয়ার জন্য এটি আরও বেশি।
dardenfall

@dardenfall আপনি ঠিক বলেছেন, হামাগুড়ি দেওয়া সঠিক শব্দ নয়। আমি এটি স্ক্র্যাপিং দিয়ে পরিবর্তন করেছি :)
ফরিদ নুরি নেশাত

@ ফরিদ - মন্তব্যগুলিতে বিতর্কের ঝুঁকিতে (যদি আমি পারতাম তবেই আপনাকে বার্তা পাঠাতাম) (দুঃখিত!) আপনি এখনও এটি কীভাবে স্ক্র্যাপিংয়ের জন্য ব্যবহার করেন তা আমি এখনও দেখছি না। এটি সাইটগুলি নয় ওয়েব পরিষেবাগুলির সাথে কাজ করে এবং wservices সহ, ​​আপনি খুব কমই এইচটিএমএল পার্স করছেন। হতে পারে এক্সএমএল, তবে এইচটিএমএল নয়।
ডারডনফল


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.