https://mechanicalsoup.readthedocs.io/
Pustaka Python untuk mengotomatiskan interaksi dengan situs web. MechanicalSoup secara otomatis menyimpan dan mengirimkan cookie, mengikuti pengalihan, dan dapat mengikuti tautan serta mengirimkan formulir. Itu tidak melakukan JavaScript.
MechanicalSoup dibuat oleh M Hickford, yang merupakan pengguna setia perpustakaan Mechanize. Sayangnya, Mechanize tidak kompatibel dengan Python 3 hingga tahun 2019 dan pengembangannya terhenti selama beberapa tahun. MechanicalSoup menyediakan API serupa, dibangun di atas Permintaan raksasa Python (untuk sesi HTTP) dan BeautifulSoup (untuk navigasi dokumen). Sejak 2017, ini adalah proyek yang dikelola secara aktif oleh tim kecil termasuk @hemberger dan @moy.
PyPy3 juga didukung (dan diuji).
Unduh dan instal versi rilis terbaru dari PyPI:
pip instal MechanicalSoup
Unduh dan instal versi pengembangan dari GitHub:
pip instal git+https://github.com/MechanicalSoup/MechanicalSoup
Menginstal dari sumber (menginstal versi di direktori kerja saat ini):
setup python.py instal
(Dalam semua kasus, tambahkan --user
ke perintah install
untuk menginstal di direktori home pengguna saat ini.)
Dokumentasi lengkap tersedia di https://mechanicalsoup.readthedocs.io/. Anda mungkin ingin langsung membuka dokumentasi API yang dibuat secara otomatis.
Dari contoh/expl_qwant.py, kode untuk mendapatkan hasil dari pencarian Qwant:
"""Contoh penggunaan MechanicalSoup untuk mendapatkan hasil dari mesin Qwantsearch. lite.qwant.com/")# Isi pencarian formbrowser.select_form('#search-form')browser["q"] = "MechanicalSoup"browser.submit_selected()# Tampilkan hasil untuk link di browser.page.select('.result a'):# Qwant menampilkan link pengalihan , bukan URL sebenarnya, jadi ekstrak# URL sebenarnya dari tautan pengalihan:href = link.attrs['href']m = re.match(r"^/redirect/[^/]*/(.*)$", href)if m:href = urllib.parse.unquote(m.group(1))print(link.text, ' ->', href)
Contoh lainnya tersedia di contoh/.
Untuk contoh dengan bentuk yang lebih kompleks (kotak centang, tombol radio, dan area teks), baca tes/test_browser.py dan tes/test_form.py.
Petunjuk untuk membuat, menguji, dan berkontribusi pada MechanicalSoup: lihat KONTRIBUSI.pertama.
Baca FAQ.