SORU
5 Mart 2010, Cuma


En iyi Python: urllib2, PycURL veya motorize?

Bazı web sayfaları Python kullanarak indirmek istiyorum ve seçeneklerim hızlı bir araştırma yaptım Tamam.

Python ile birlikte:

urllib - urllib2 kullanmalıyım gibi geliyor bana. urllib hiçbir çerez desteği, HTTP/FTP/sadece yerel dosya (SSL) sahiptir

urllib2 - /istemci FTP, kurabiye gibi en gerekli şeyleri destekler, tüm HTTP fiiller (sadece YAZI, İZ, vb.) desteklemiyor HTTP tamamlamak

Tam özellikli:

mechanize - /Firefox/IE çerezleri kaydetmek, ikinci bağlantıyı takip edin gibi eylemleri, aktif (0.2.5 Mart 2011'de yayınlandı) devam kullanabilirsiniz

PycURL - destekler her şeyi curl (FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DİCT, FİLE ve LDAP), kötü haber: güncelleme beri Sep 9, 2008 (7.19.0)

Yeni olanaklar:

urllib3 - bağlantı yeniden kullanma/havuzu ve dosya gönderme destekler

(A.kaldırılmış k.bir. urllib/urllib2 kullanın):

httplib HTTP/HTTPS (FTP)

httplib2 HTTP/HTTPS (FTP)

Beni çeken ilk şey/urllib2/PycURL/motorize urllib iyi iş oldukça olgun çözümlerdir. Linux dağıtımları (örneğin Fedora 13) ve BSD bir dizi yani yükleme ile motorize ve PycURL gemi tipik olmayan bir konu da değil yani.

urllib2 güzel görünüyor ama merak ediyorum neden PycURL ve motorize hem de çok popüler bir şey kaçırıyorum talep kullanıyorum urllib2 olacak çiziyorum kendime bir köşe bir noktada mı?). Gerçekten de kendim için en iyi seçim yapmak, böylece bunların artıları/eksileri hakkında biraz bilgi istiyorum.

Edit: urllib2 fiil desteği eklendi not

CEVAP
5 Mart 2010, Cuma


Bu konuşma (pycon 2009), aradığınızı cevabı (Asheesh Laroia bu konuda deneyim) sahip olduğunu düşünüyorum. Ve iyi ve listenin en kötü işaret ediyor

Gelen PYCON 2009 programı:

Kendini bul ile karşı karşıya mı bunun için gereken verilere sahip web siteleri özü? Hayatınızı daha kolay olacaktır Program aracılığıyla veri giriş yapabilirsin web uygulamalarına, hatta bu ayarlanmış botlar ile etkileşim direnmeye?

Web temellerini tartışacağız kazıma ve dalın sonra farklı yöntemlerin ayrıntıları ve nerede en uygun olur.

Bırakacaksın uygulamak için zaman anlayışı ile farklı araçlar ve hakkında bilgi "ağır" ekran kazıma çekiç bir proje için bir araya getirdim Elektronik Sınır Vakfı.

Atendees bir dizüstü bilgisayar, eğer getirmelidir mümkün, örnekleri çalışıyoruz tartışmak ve notlar isteğe bağlı olarak.

Güncelleme: Asheesh Laroia pycon 2010 sunumunu güncelledi

  • PyCon 2010: Scrape the Web: Strategies for programming websites that don't expected it

    * My motto: "The website is the API."
    * Choosing a parser: BeautifulSoup, lxml, HTMLParse, and html5lib.
    * Extracting information, even in the face of bad HTML: Regular expressions, BeautifulSoup, SAX, and XPath.
    * Automatic template reverse-engineering tools.
    * Submitting to forms.
    * Playing with XML-RPC
    * DO NOT BECOME AN EVIL COMMENT SPAMMER.
    * Countermeasures, and circumventing them:
          o IP address limits
          o Hidden form fields
          o User-agent detection
          o JavaScript
          o CAPTCHAs 
    * Plenty of full source code to working examples:
          o Submitting to forms for text-to-speech.
          o Downloading music from web stores.
          o Automating Firefox with Selenium RC to navigate a pure-JavaScript service. 
    * Q&A; and workshopping
    * Use your power for good, not evil. 
    

Güncelleme 2:

PyCon US 2012 - Web scraping: Reliably and efficiently pull data from pages that don't expect it

Heyecan verici bilgi formları arkasında HTML web sayfaları ve tuzağa düştü. , ^ Bu eğitimde . bu sayfaları ayrıştırmak için nasıl ve ^ yapmak için gelişmiş teknikleri uygulamak için zaman öğrenirsin . kazıma daha hızlı ve daha kararlı. Bükülmüş, gevent paralel indirme, ^ ele alacağız . ve diğerleri; SSL; Selenyum ile JavaScript-y siteler sürüş; ve ^ arkasında siteleri analiz edilmesi . anti-kazıma kaçmak için ortak teknikleri.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Professor Messer

    Professor Me

    27 NİSAN 2007
  • rtisticsdev

    rtisticsdev

    31 Mayıs 2012
  • sebsebdouze

    sebsebdouze

    7 ŞUBAT 2008