Makale Metnini Ayırmak İçin Güzel Çorbayla Web Kazıma
İşlevi Chrome'da kullandıktan sonra, sayfanın altında yatan HTML'ye bakabilirsiniz. Makale metnini vurgulayabilir ve istediğiniz bilgilerin DOM'da nerede olduğunu belirleyebilirsiniz. Bu bilgi ile makale metnini tutan unsurları tanımlayabilirsiniz (Vox.com makalesinde ana sınıf c-entry- content'tir ).
Tanımlamak istediğimiz ana sınıfa sahip olduğumuzda, tüm alt-çocuklar için bir yineleme oluşturabiliriz, bu durumda ' p ' öğeleri. Bu içeriği yineleyeceğiz ve birleştireceğiz, bu şekilde yalnızca istediğimiz metni alacağız (reklamlar veya javascript işlevleri olmadan), böylece PDF'ye dönüştürmemiz daha temiz olur.
İşte Vox web sitesini kazımak için kod:
Makale Metnini PDF'e Dönüştürme
Artık Web Kazıma işlemini gerçekleştirdiğimize ve makale için HTML'yi izole ettiğimize göre , HTML'yi PDF'ye dönüştürmek için pdfkit'i kullanabiliriz.
pdfkit, kullanmayı bulduğum en kolay kitaplık, ancak hatalar üzerine devam ettiğinden emin olmak için bir try/except kullanmak zorunda kaldım. pdfkit ayrıca isterseniz gerçek bir web sitesini veya bir dosyayı iletmenizi sağlar.
Denediğim ancak reddettiğim diğer iki kitaplık xhtml2pdf ve WeasyPrint . Ayrıca kullanımı oldukça kolaydır, ancak sonuçlar karışıktır.
İşte aldın! Paylaşmak veya daha sonra kullanmak üzere kullanmak istediğiniz makaleleri PDF'ye dönüştürün.
PDF'leri Bilgi Sisteminizin başlangıcı olarak kullanabilirsiniz. Okumalarınızı yüzeye çıkarmaya başlayabilmeniz için meta verilerin nasıl uygulanacağına ilişkin bu makaleye göz atın.
Son zamanlarda, şu anki otomatikleştirilmiş bir yaşam inşa etme hedefimin tamamlayıcısı olarak bir İkinci Beyin yaratmakla ilgileniyorum . Tükettiğim içeriğin bir deposunu oluşturmak, notlarımı eklemek ve aranabilir hale getirmek niyetindeyim. Bu, ihtiyaç duyduğum içeriği ortaya çıkarmama ve daha önce incelemiş olduğum bir bilgi havuzu oluşturmama izin verecek. Yapay zeka oluşturmayı düşünen herkes olarak yapılacak ilk şey, verilere ihtiyacınız olmasıdır. Karşılaştığım tüm makaleleri okumak için yeterli zamanım yok. Bu yüzden, Kindle'ımda herhangi bir yerde tüketebileceğim bir makale deposu oluşturmam gerekiyor. Bunu python ve bazı genel ağ kazıma teknikleriyle yapacağım.
İlk adım, gerekli gördüğüm makaleleri web'de kazımak. HTML Inspect'in Chrome tarayıcımda biraz serbest kullanımından sonra, tahmin edilebilir bir makale biçimine sahip iki site belirledim: CNN.com ve Vox.com.
Python Ortamınızı Kurma
Öncelikle, Python'un kodu oluşturmak için ihtiyaç duyacağı kitaplıkları almamız gerekiyor. Python 3.7 ve aşağıdaki kitaplıkları kullanıyorum:
- Güzel Çorba — Web Kazıma İçin
- urllib3 — Web servislerini aramak için
- certifi — urlib3 ile HTTPS sitelerinin çağrılmasını kolaylaştırmak için
- pdfkit — HTML'yi PDF'lere dönüştürmek için
İşte kütüphaneler için pip kurulum komutları.
pip kurulumu güzel
çorba4
pip kurulumu urllib3 pip kurulumu pdfkit
pip kurulumu sertifikası
Öncelikle urllib3 ile bir PoolManager oluşturmamız gerekiyor. HTTPS web sitelerini ayrıştırabilmek için burada sertifika kitaplığını da kullanıyorum.
