Web'i şirket yönetim ekipleri için kazımak üzere bir program oluşturmaya çalıştım. Bu da dahil olmak üzere, birçok şeyi elde etmeyi çok hassas:Web Kişi Tanıtımı Açıklamaları
-İş başlıkları
-emails -resimlerinizi -names
-Qualifications (MD, PhD vb) ve Sonekleri (II, III, JR.)
İçinde bulunduğum sorun, kişinin açıklamasının kazımasıdır. Örneğin, Facebook'un Executive Bios sayfasında Mark Zuckerberg'in açıklamasını istiyorum. Bununla birlikte, HTML yapısındaki tüm farklar ile, bunu% 100'e yakın doğrulukla kazımak çok zordur.
Perl ve çok, gelişmiş olduğuna inanıyorum, normal ifadeler kullanıyorum. Soruna yaklaşmak için daha iyi bir yol/araç var mı?
En son denemem, kişilerin tam adının sayfada son olarak bulunmasını bulmak ve daha sonra birlikte çalışanlara isabet edene kadar tüm metni almaktı. Bu işe yarayacak gibi görünüyor olsa da, bana arzu edilen sonuçlardan daha azını veriyor.
DÜZENLEME: Bu soruyu, bu sayfayı ayrıştırmaya çalışıyorum diye ortaya çıktığını fark ettim, herhangi bir şirkette çalışacak kadar genel bir şeye ihtiyacım var "insan sayfası". % 100'lük doğruluk elde edilemediğini biliyorum,% 50-20'ye varan bir şey arıyorum ve şu anda yüzde 15-20 civarındayım.
Aslında, bu sayfa herhangi bir HTML ayrıştırıcısı kullanılarak kazımak için önemsizdir. Tüm bilgiler, farklı sınıf isimleri olan öğelerde bulunur. Tabii ki, HTML'yi ayrıştırmak için normal ifadeler kullanmak genelde hata eğilimli ve sinir bozucu bir görevdir. Yani, bir HTML ayrıştırıcısı kullanın. –
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –
Evet, bu sayfa üzerinde anlaşılan bir karar var. Herhangi bir sayfada (veya en az% 50-60) çalışın. Sadece gideceğim içeriğin bir örneğini göstermek için facebook sayfasını aldım. – user387049