cari

Rumah  >  Soal Jawab  >  teks badan

python - 如何为爬虫构建代理池

为了避免爬虫被封 IP ,网上搜索教程说需要建立代理池。但是付费代理都好贵。。。不过好在网上已经有不少免费提供代理的网站了。因此,我打算写个爬虫去获取这些免费 IP ~

策略步骤

  1. 用种子关键词例如“代理 IP ”在各个搜索引擎上搜索,获取候选 URL

  2. 爬取候选 URL ,将代理地址储存下来

  3. 验证代理地址,将可用的代理地址放入代理池

难点

  1. 如何去验证维护这些代理地址

  2. 如何知道哪些代理地址适合哪些网站(可用性,响应时间)

  3. 效率问题(之前写过简单的验证脚本,但是效率非常低)

小伙伴们有不有什么好的办法能解决这些问题呢?

巴扎黑巴扎黑2821 hari yang lalu800

membalas semua(3)saya akan balas

  • 怪我咯

    怪我咯2017-04-18 09:08:55

    Izinkan saya menulisnya, kebetulan saya pernah melakukan kerja yang sama, dan saya juga memerlukan ejen pada masa itu.

    Bagi alamat proksi, saya tidak membenarkan perangkak memilih tapak web dengan sendirinya, saya menapis secara manual beberapa tapak web yang menyediakan proksi percuma dan kemudian menulis beberapa perangkak untuk merangkak tapak web proksi yang berbeza

    Sebagai tindak balas kepada kesukaran yang anda nyatakan:

    1. Untuk pengesahan, alamat yang dirangkak untuk kali pertama akan disahkan terus sama ada ia boleh digunakan, ia akan disimpan dalam pangkalan data atau berterusan kerana ejen tidak boleh dipercayai adalah perlu untuk sentiasa menyemak sama ada ejen yang ditangkap tersedia secara langsung Tugas berjadual dimulakan pada pelayan uWSGI, yang akan diperiksa setiap setengah jam dan ejen baharu akan ditangkap setiap jam seperti crontab;

      Gunakan proksi yang ditangkap secara langsung untuk mengakses tapak web yang perlu anda lawati Jika anda perlu menyediakan proksi yang berbeza untuk tapak web yang berbeza, anda boleh mengesahkan dan menyimpan maklumat pengesahan yang berkaitan bersama-sama;
    2. Isu kecekapan mudah ditangani. Operasi pengesahan rangkaian adalah semua tugas intensif I/O, yang boleh diselesaikan dengan coroutine, berbilang benang dan GIL berbilang proses untuk meningkatkan tugas I/O-intensif

      multithreading-spider Saya menggunakan multi-threading + baris gilir untuk membuat perangkak proksi yang mudah sebelum ini Demo src ialah contoh khusus Ia menggunakan model pengeluar-pengguna yang mudah pengeluar. Pengesahan Perangkak ketersediaan ejen bertindak sebagai pengguna dan boleh memaparkan kemajuan tugas tertentu.
    3. balas
      0
  • PHP中文网

    PHP中文网2017-04-18 09:08:55

    Anda boleh mencuba ini, kumpulan proksi berasaskan Python.
    Tangkap sumber proksi di Internet secara automatik dan memudahkan pengembangan.
    https://github.com/WiseDoge/P...

    balas
    0
  • ringa_lee

    ringa_lee2017-04-18 09:08:55

    Anda boleh lihat projek ini: https://github.com/jhao104/pr...

    Perkhidmatan kumpulan proksi sumber terbuka

    balas
    0
  • Batalbalas