Situs parsing - dan apakah secara umum legal di Rusia?

Menurut salah satu definisi, parsing adalah parsing informasi. Bagi seseorang yang tidak terlibat dalam tugas khusus mengumpulkan dan memproses informasi untuk proyek-proyek Internet, ini tidak berarti apa-apa. Dan definisi yang sangat, hanya secara umum, menunjukkan jumlah besar pekerjaan yang dilakukan ratusan juta orang dan puluhan juta robot (meskipun virtual, tetapi tidak kalah nyata) di seluruh dunia setiap menit. Tetapi tugas ini umum bagi seseorang - yaitu, membandingkan harga tiket online, memilih barang elektronik yang tepat di situs toko ... Memperhatikan harga dan promosi dalam aplikasi mobile yang mudah digunakan di supermarket terdekat dengan rumah, tidak ada di antara kita yang bahkan akan menganggap menjuluki diri kita sebagai parser.
gambar

Namun demikian, penguraian bisnis ada, bekerja dan, tentu saja, adalah subjek diskusi yang hidup di berbagai tingkatan pertimbangan: etika, hukum, teknologi, keuangan, dan bukan hanya.

Artikel ini tidak menyatakan pendapat yang pasti, tidak memberikan saran dan tidak mengungkapkan rahasia - di sini kami hanya akan mempertimbangkan beberapa pendapat tentang contoh komentar paling menarik pada satu artikel terpisah tentang penguraian (50k pandangan dan lebih dari 400 komentar!) Pada Habré, memperlakukan mereka dari perspektif pengalaman dalam mem-parsing proyek web. Dengan kata lain - kami menghabiskan banyak waktu dan mencoba untuk menyatukan dan mengklasifikasikan komentar pembaca yang paling menarik ... kebijaksanaan duniawi, jadi untuk berbicara :)

Jadi, tentang penguraian:

"Masalah teknologi." Proxy yang fantastis dan di mana mereka tinggal.


Sama seperti gagasan untuk menguraikan sendiri adalah alami (selalu menarik untuk melihat apa yang dilakukan "tetangga" di sana), metode dasar penerapannya juga sederhana. Jika Anda ingin tahu, tanyakan, tetapi jika Anda ingin mengetahui nilai aktual dari array data yang besar (apakah itu harga barang, deskripsi mereka, volume yang tersedia untuk pemesanan atau diskon panas), Anda harus “sering bertanya”. Jelas bahwa tidak akan pernah terpikir oleh siapa pun untuk mencoba mengumpulkan data ini secara manual (kecuali untuk tim besar anak-anak pekerja keras dari negara-negara selatan yang tidak terinspirasi oleh cara yang paling manusiawi), jadi solusi sederhana dan efektif digunakan di dahi: untuk "menumpuk" situs, mengatur browser, kumpulkan bot - dan “ketuk” situs target untuk indikator yang menarik, tuliskan jawaban dengan hati-hati dalam “notepad” dalam format yang mudah, analisis data yang dikumpulkan, dan ulangi.

Berikut adalah beberapa pendekatan untuk "teknik parsing" dari pembaca kami dan dari kami:

  1. “Pertanian Selenium - Maju!” (Ini merujuk pada browser tanpa kepala dengan solusi seperti BeautifulSoup seperti Selenium / Splinter). Menurut pembaca kami, ia menulis sebuah situs kecil di gugus buruh pelabuhan buruh pelabuhan untuk istrinya untuk memantau situs penjual (dia adalah importir) sehingga mereka tidak melanggar kebijakan RRC / MRC (harga eceran yang disarankan). Menurut penulis, semuanya berjalan stabil, ekonomi parsing bertemu - "semua biaya adalah 4 node untuk $ 3." Benar, penulis yang bangga hanya memiliki sekitar seribu produk dan puluhan situs dalam penguraian, tidak ada lagi :)
  2. "Kami meluncurkan Chromium dan semuanya OK, ternyata 1 produk dalam 4-5 detik dapat diambil ...". Jelas bahwa tidak ada satu admin pun yang akan senang dengan lompatan beban di server. Situs ini, tentu saja, untuk tujuan ini diperlukan untuk memberikan informasi kepada semua orang yang tertarik, tetapi "ada banyak dari Anda, tetapi saya sendirian", oleh karena itu, mereka yang sangat ingin tertarik, tentu saja, diabaikan. Yah, itu tidak masalah: Chromium datang untuk menyelamatkan - jika browser mengetuk situs dalam mode "hanya tanya kami" - itu bisa dilakukan tanpa menunggu dalam antrean. Memang, dalam susunan umum tugas penguraian, penguraian halaman html dilakukan dalam 90% kasus, dan dalam "kasus sangat sulit" (ketika situs dilindungi secara aktif, seperti Yandex yang sama. Pasar meminta captcha), Chromium yang mengaturnya.
  3. "Bersihkan proksi dengan tangan Anda sendiri dari router / modem LTE." Ada beberapa cara yang cukup berhasil untuk mengonfigurasi proksi bersih yang cocok untuk mem-parsing mesin pencari: pertanian modem 3G / 4G atau membeli proxy putih alih-alih sekelompok proxy kotor acak. Penting bahwa bahasa pemrograman digunakan untuk penguraian industri seperti itu - 300 situs per hari (dan jawaban yang benar adalah .Net! :). Faktanya, Internet penuh dengan situs dengan daftar proxy terbuka, 50% di antaranya cukup berfungsi, dan tidak terlalu sulit untuk mem-parsing daftar proxy dari situs-situs ini, lalu mem-parsing situs lain dengan mereka :): Ya, kami melakukannya.
  4. Kasus lain yang mendukung Selenium: "Saya melakukan parsing sendiri (tetapi tidak di RuNet, tapi saya menangkap pesanan di upwork.com favorit saya, di sana biasanya disebut memo, istilah yang lebih cocok, IMHO). Saya memiliki rasio yang sedikit berbeda, sekitar 75 hingga 25. Tetapi secara keseluruhan, ya, apakah itu malas atau sulit - sejauh ini tidak ada yang menghindari selenium :) Tetapi dari beberapa ratus situs yang harus saya kerjakan, tidak pernah ada pengakuan. gambar untuk mendapatkan data target. Biasanya, jika tidak ada data dalam html, maka mereka selalu ditarik dalam beberapa json (yah, sebenarnya, kami telah menunjukkan contoh di bawah ini).
  5. "Python Tamers." Dan kasus pembaca lain: “Dalam pekerjaan saya sebelumnya saya menggunakan Python / Scrapy / Splash untuk 180+ situs sehari dengan ukuran berbeda dari prisma.fi dan verkkokauppa.com ke beberapa hal kecil dengan 3-5 produk. Pada akhir tahun lalu, kami menyewa server semacam itu dari Hetzner (https://www.hetzner.com/dedicated-rootserver/ax60-ssd) dengan Ubuntu Server on board. Sebagian besar sumber daya komputasi masih menganggur.
  6. "WebDriver adalah segalanya bagi kita." Terlibat dalam otomatisasi umum (di mana parsing sudah jatuh), seandal mungkin (tugas QA). Sebuah workstation yang bagus, selusin atau dua browser secara paralel - hasilnya sangat cepat, perusak yang cepat.

"Gentleman's set" dari yang melayang - 4 mesin virtual, lalu lintas tanpa batas, masing-masing 4 prosesor, memori 8 GB, Windows Server ... Sejauh ini, cukup untuk setiap kumpulan baru dari 50 situs bersyarat - Anda memerlukan mesin virtual Anda sendiri. Tetapi itu sangat tergantung pada situs itu sendiri. Visual Studio juga memiliki System.Net, yang sebenarnya menggunakan Internet Explorer yang diinstal pada Windows. Ini juga berhasil.

“Bagaimana cara melindungi diri (dari penguraian) dalam pikiran Anda? Tidak mungkin, kami akan tetap merangkak ”


Mengurai ide bisnis, berbicara tentang bisnis kami, terus-menerus dilontarkan kepada kami.

  1. Masalah parsing Yandex, seperti halnya banyak layanan SEO. “Ada lebih banyak permintaan untuk ini, lebih banyak uang. Benar, mereka pada dasarnya menjual seluruh sistem analisis SEO. ” Tetapi kami tidak menguraikan penerbitan - kami tidak bertanya, dan akan ada captcha segera setelah 100 permintaan, kami membutuhkan proxy bersih, tetapi sulit untuk mendapatkannya atau yang mahal, itu tidak begitu menguntungkan ... Tentu saja, jauh dari mudah untuk bermain pemain besar, dan para pembaca bersama kami bagikan (kami sendiri TIDAK mem-parsing Google dan Yandex). Menurut pengalaman, Yandex, Google dan perusahaan besar sejenis memiliki basis tertentu dengan subnet pusat data (setelah semua, database proxy diperbarui, dan pemain besar berlangganan dan melarangnya). Dengan demikian, jaringan proxy yang diangkat pada alamat IP yang dikeluarkan untuk pusat data terbang dengan sempurna ke larangan dengan penerbitan captcha dan keanehan lainnya. Akibatnya, hanya ada opsi ilegal dengan pembelian proxy dari pemilik botnet dan "kotoran" serupa, dalam hal ini Anda akan memiliki ip pengguna nyata. Dan meskipun demikian, perusahaan seperti itu benar-benar membutuhkan Anda untuk memiliki cookie "menetap" yang telah Anda "jelajahi" selama beberapa waktu di situs tempat mereka dapat melacak Anda (misalnya, jumlah hit). Tapi bagaimana mereka membedakan parser dari NAT di area tidur? 100 permintaan bersyarat bukanlah apa-apa.
  2. Perlindungan dari penguraian: menghilangkan "besar dan mengerikan" dari pertimbangan, kita akan fokus pada kita, "hanya manusia". Jika ada orang yang terlibat dalam penguraian, pasti ada orang yang akan mencoba untuk mencegah mereka melakukan hal ini. Lebih menarik untuk bermain dengan orang-orang hidup: unsur persaingan muncul, masing-masing pihak mencoba untuk mengecoh yang lain. Dan, karena tidak ada yang masih berniat untuk mengumpulkan informasi secara manual, mereka bermain siapa yang akan membuat bot paling mirip dengan orang yang hidup, dan yang akan dapat mengenali bot ini lebih efisien sambil terus menanggapi permintaan dari pengguna nyata - situs ini dirancang untuk membantu bisnis , kita ditolak oleh ini. Dan, dengan tetap berada dalam kerangka tugas efisiensi bisnis, seseorang tidak dapat tidak memperhitungkan alokasi sumber daya yang masuk akal dan keuntungan langkah-langkah untuk, pada kenyataannya, menguraikan dan mengatasinya:

    • Anda tidak dapat melindungi diri dari penguraian (kecuali dari "siswa"), tetapi Anda dapat meningkatkan ambang batas untuk pembelanjaan (baik waktu dan uang). Akibatnya, data yang kami lindungi (beberapa bagian situs) lebih mudah untuk tidak diurai, tetapi untuk pergi dan membeli database yang sudah jadi, sama seperti kami membelinya. Ada tabel alamat ip parser yang tergeletak di jaringan, menunjukkan captcha ke daftar ini di pintu masuk bukan masalah. Demikian pula, menghasilkan id dan kelas, seperti halnya mail.ru, juga tidak menjadi masalah dan tidak memerlukan biaya besar. Captcha baru dari Google umumnya sangat akurat menentukan apakah robot atau tidak. Jika ada kecurigaan, memotong pengguna dan meminta captcha itu sederhana. Pada akhirnya, tidak ada yang membatalkan umpan HoneyPot karena menangkap bot. Nah, klasik, ganti huruf dalam teks, buat topeng, dll.
    • Dan di sini kita akan menentang diri kita sendiri: mungkin, secara individu, semua ini tidak akan membantu, tetapi bersama-sama akan menyulitkan hidup Anda sehingga menjadi tidak layak. Terlebih lagi, semua teknik ini umumnya tidak membutuhkan pengeluaran besar. Benar, semua teknik ini mahal, jadi intinya tidak ada perlindungan. Proksi dinamis, layanan yang mengenali captcha oleh orang India, dan selenium dengan algoritme tindakan yang terdefinisi dengan baik. Semua itu dapat dicapai - pengembangan parser akan lebih mahal, mungkin membuat seseorang takut, tetapi jika situs target bukan katalog satu setengah halaman kantor "Tanduk dan Kuku" setempat, maka hanya sedikit orang yang akan takut dengan kenaikan biaya.
    • Saat membela, itu selalu tentang penggunaan model perilaku khas dari pengunjung asli, ditambah sistem yang secara memadai mengidentifikasi bot "putih" (Yandex, Google, dll.). Dan untuk beradaptasi dengan pengunjung nyata, Anda perlu mengetahui satu set peta transisi standar. Dan kemudian kumpulan proksi sederhana ketika parsing tidak cukup. Sistem tidak melindungi 100%, tetapi menyelesaikan tugas - menurut statistik tampilan, Anda dapat memahami kapan seluruh situs dipindai. Pengurai atau mesin pencari melakukan hal ini. Tetapi mesin pencari merespons robots.txt, tetapi parser tidak.

"Oh, wow. Jika semua orang melakukan semuanya dengan bijak ... Saya pikir akan ada 10 kali lebih banyak pengangguran. Cukup untuk usiamu. ”

“Apakah saya hidup ramah lingkungan? Ya, tetapi sia-sia "


  1. Dalam bidang moral dan etika pertimbangan masalah terletak poin penting yang berkaitan baik dengan aspek teknis dan hukum parsing. File robots.txt ringkas dalam kesederhanaan dan simbolis dalam namanya, yang ditafsirkan oleh pembaca dan kami dengan cara yang berbeda:

    • Aktivitas Anda sebagai "pengemudi" bot adalah "etis" persis seperti bot Anda mengikuti robots.txt dari situs yang Anda kunjungi. Tidak didasarkan pada asumsi bentuk "halaman produk tidak tutup", tetapi secara harfiah memaksakan mengizinkan dan melarang masker pada URL yang diminta. Robots.txt tidak ada - tafsirkan sesuai keinginan Anda; hadir, tetapi Anda melanggarnya - tentu saja, Anda menggunakan situs jahat. Tentu saja robots.txt tidak memiliki kekuatan hukum, tetapi jika Anda benar-benar "memanggangnya", itu bukan fakta bahwa itu pasti akan dilewati oleh para pengacara. "
    • Terlepas dari kenyataan bahwa tidak mungkin untuk bernegosiasi dengan robot, kadang-kadang lebih mudah daripada dengan orang-orang, karena di toko mereka menggantungkan tanda-tanda "foto dilarang", dan ini ilegal. Dan tidak etis. “Tradisi seperti itu. robots.txt adalah teknik. Ini bukan tentang etika. Jika Anda ingin menunjukkan bahwa Anda tidak ingin parsing, buatlah bagian seperti ini: account.habr.com/info/agreement. Saya tidak tahu apakah pembatasan seperti itu akan sah, tetapi setidaknya Anda dapat mengungkapkan keinginan Anda di sana dalam bahasa manusia (atau menyebut robot.txt), maka Anda dapat berbicara tentang etika. " Pengacara kami balas, "Pembatasan seperti itu tidak sah."
    • Kami berpikir secara bersamaan tentang penguraian dan tentang penggunaan informasi lebih lanjut. “Robots.txt bukan tentang penguraian, tetapi tentang publikasi lebih lanjut (misalnya, dalam hasil pencarian). Jika Anda ingin data tidak diterima oleh siapa pun, maka Anda harus membatasi lingkaran orang yang dapat melihatnya. Jika Anda tidak memiliki tirai di jendela, maka Anda tidak boleh telanjang. Mungkin disengaja untuk melihat keluar jendela dan jelek, tetapi tanpa tirai klaim apa? "
    • Etika parsing bersifat netral. Mungkin tidak etis menggunakan informasi yang diperoleh. Secara umum, murni dari sudut pandang etika, setiap orang memiliki hak untuk menerima informasi publik yang tidak bersifat pribadi atau khusus dan tidak dilindungi oleh hukum. Harga pasti untuk informasi publik. Deskripsi juga. Deskripsi mungkin tunduk pada hak cipta dan tidak boleh diposting tanpa izin. Tetapi tidak ada etika yang dilanggar, bahkan jika saya akan mem-parsing situs dan membuat situs publik saya sendiri, yang akan mencerminkan dinamika harga dan perbandingan pesaing. Bahkan etis karena memberikan informasi yang bermanfaat secara sosial. "
  2. "Tangan bisa dirakit, tetapi robot tidak bisa diurai." Setiap "kejahatan" dengan uji tuntas dan keterampilan dapat dibenarkan, dan menguraikan bahkan lebih - terutama karena ada contoh hidup tentang bagaimana itu digunakan dalam segala hal dengan benar, kami mengutip pembaca kami: "Saya terlibat dalam penguraian sejak lama, tapi saya selalu bertanya melakukan penguraian yang benar-benar legal dan benar secara moral. Beberapa kali, perantara meminta agar pedagang grosir diurai (untuk menjual barang-barangnya), pedagang grosir itu sendiri tidak keberatan, tetapi tidak akan berinvestasi dalam pengembangan API (atau tidak bisa karena alasan teknis); suatu ketika perantara dari sebuah toko Cina meminta integrasi, tetapi di sana api toko Cina sangat kacau dan terbatas sehingga sebagian perlu untuk mendapatkan informasi penguraian; begitu penulis dan pemilik situs dan forum ingin bermigrasi dari situs gratis yang “menjepit” basis data; dia juga melakukan integrasi situs dari kontes sastra dan forumnya, sehingga ketika menambahkan cerita baru, topik pada forum akan muncul secara otomatis (karena alasan teknis hal itu tidak dapat dilakukan jika tidak). "

"Apakah pengacara itu dipanggil? Kutipan tidak dapat diuraikan "


Terlepas dari sisi mana yang Anda pilih dalam menentukan sumber kekuatan: uang atau kebenaran - satu hal yang jelas, bahwa, di mana uang mulai ditemukan, menemukan kebenaran menjadi semakin sulit. Membuat diskusi tentang kemungkinan memperoleh segala sesuatu dan segala sesuatu, termasuk hukum itu sendiri dan perwakilannya, di luar ruang lingkup artikel ini, kami akan mempertimbangkan beberapa aspek hukum yang diangkat dalam komentar:

  1. "Dari mengintip ke pencurian adalah satu langkah." Bahkan jika segala sesuatu yang tidak dilarang diperbolehkan, maka, pembaca kami percaya, “mengintip ke dalam lubang kunci setidaknya jelek, dan jika klien kemudian juga mengeluarkan sparsial sebagai miliknya, maka ini adalah pencurian langsung. Tentu saja, jelas bahwa dalam bisnis semua orang melakukan ini. Namun dalam masyarakat yang baik, masih biasa untuk tetap diam tentang hal ini. " Namun, penguraian untuk seseorang dan melepaskan sparsen sebagai milik mereka, seperti yang mereka katakan, adalah dua perbedaan besar: "Anda mengacaukan yang lembut dan dingin. Kami benar-benar menyediakan layanan parsing. Tapi itu persis sama dengan cara Anda menyalahkan pabrik, misalnya, senjata, karena membunuhnya. Kami melakukan bisnis, tetapi dalam bisnis ada satu aturan - apakah itu legal atau tidak. Maksud saya adalah ... Jika pelanggan datang kepada kami dan bersedia membayar banyak untuk mendapatkan data - itu benar-benar buruk ... "
  2. "Membuat aplikasi untuk situs media - dipaku untuk keluhan." Situs Forbes, penguraian, aplikasi di Google Play - apa yang bisa salah? “Pada suatu waktu saya memutuskan untuk membuat aplikasi untuk situs web Forbes. Untuk mendapatkan artikel dari situs - halaman diuraikan. Saya mengkonfigurasi semuanya dalam mode otomatis dan membuat aplikasi untuk Android. Saya memposting aplikasi di pasar. Setahun kemudian, seorang pengacara menghubungi saya dan menuntut untuk menghapus aplikasi, karena saya melanggar hak cipta. Saya tidak membantah. Sayang sekali Forbes sendiri tidak memiliki aplikasi untuk artikel mereka sendiri dari situs. Hanya ada satu situs. Dan situs mereka lambat, dimuat untuk waktu yang lama dan digantung dengan iklan ... "
  3. "Basis data saya adalah pekerjaan saya di bawah perlindungan!" Hak cipta adalah konsep lain yang dapat dikhususkan untuk selusin halaman diskusi (selain ratusan ribu yang sudah ada), tetapi belum lagi itu juga salah. Pembaca kami mengeluarkan konsep: “Seseorang menciptakan basis data barang. Menghabiskan banyak sumber daya untuk mencari informasi, mensistematisasikan informasi ini, memasukkan data ke dalam basis data. Atas permintaan pesaing, Anda menguraikan basis ini dan memberikannya kepada pesaing yang sama untuk mendapatkan uang. Apakah Anda pikir tidak ada masalah etika? Mengenai aturan hukum, saya tidak tahu bagaimana keadaannya di Federasi Rusia, tetapi di Ukraina basis data dapat dikenakan hak cipta. "

    Namun, tanggung jawab untuk menggunakan layanan atau produk masih terletak pada siapa yang memperolehnya / untuk tujuan apa: "... di Rusia juga. Kami menyediakan layanan pengumpulan data. Dan untuk layanan ini kami meminta uang. Kami tidak menjual data sendiri. "Omong-omong, saya memperingatkan semua klien bahwa mereka dapat melanggar hukum jika mereka menggunakan, misalnya, deskripsi."
  4. "Secara formal, Anda benar, tetapi saya menemukan artikel tentang Anda!" KUHP Federasi Rusia (Pasal 146) hanya menjelaskan tingkat pelanggaran yang memungkinkan mengklasifikasikan pelanggaran hak cipta sebagai "pelanggaran pidana". Hak-hak itu sendiri dijelaskan dalam KUHPerdata - dan sejauh mana tindakan tersebut diklasifikasikan sebagai "penjahat", penguraian reguler, sehingga muncul pertanyaan "apakah situs akan turun," membentang tanpa masalah. Tetapi aspek-aspek itu penting:

    • Di sana, "ukuran besar" tidak dalam jumlah halaman yang diuraikan, tetapi dalam uang. Bagaimana Anda menilai penguraian (dan keteraturannya) sebagai pelanggaran hak cipta (!) Dalam uang? Dan bagaimana hal itu biasanya dilakukan dalam kasus-kasus seperti itu dan dari mana denda ratusan ribu dolar berasal dari per salinan film? "Kehilangan laba" dihitung dengan koefisien yang sesuai. - — «». , , ( ), «». : , -? , .
    • ( . : — 30 , — 1000, « », ). , ? , « ».

Meringkas: “- Bagaimana penguraian menjadi setara dengan pelanggaran hak cipta? - Tidak ada. Pelanggarannya adalah memesan parsing dari kami, dan kemudian membuang konten di situs Anda. Menempatkan situs adalah artikel lain. "

Maxim Kulgin, xmldatafeed.com

Source: https://habr.com/ru/post/id450834/


All Articles