Pertanyaan Unduh halaman html dan isinya


Apakah python memiliki cara mengunduh seluruh halaman html dan isinya (gambar, css) ke folder lokal yang diberikan url. Dan memperbarui file html lokal untuk memilih konten secara lokal.


32
2017-12-01 10:58


asal


Jawaban:


Anda dapat menggunakan urllib modul untuk mengunduh URL individual tetapi ini hanya akan mengembalikan data. Ini tidak akan mengurai HTML dan mengunduh secara otomatis hal-hal seperti file dan gambar CSS.

Jika Anda ingin mengunduh halaman "utuh" Anda perlu mengurai HTML dan menemukan hal-hal lain yang perlu Anda unduh. Anda bisa menggunakan sesuatu seperti Sup yang indah untuk mengurai HTML yang Anda ambil.

Pertanyaan ini memiliki beberapa contoh kode yang melakukan hal itu.


30
2017-12-01 11:02



Yang Anda cari adalah alat pencerminan. Jika Anda ingin satu di Python, daftar PyPI spider.py tapi saya tidak punya pengalaman dengannya. Orang lain mungkin lebih baik tetapi saya tidak tahu - saya menggunakan 'wget', yang mendukung mendapatkan CSS dan gambar-gambarnya. Ini mungkin melakukan apa yang Anda inginkan (mengutip dari manual)

Ambil hanya satu halaman HTML, tetapi buat   Pastikan semua elemen dibutuhkan   halaman yang akan ditampilkan, seperti   gambar sebaris dan gaya eksternal   lembar, juga diunduh. Juga buat   Pastikan referensi halaman yang diunduh   tautan yang diunduh.

wget -p --convert-links http://www.server.com/dir/page.html

7
2017-12-01 11:59



Anda dapat menggunakan urlib:

import urllib.request

opener = urllib.request.FancyURLopener({})
url = "http://stackoverflow.com/"
f = opener.open(url)
content = f.read()

6
2017-12-01 11:00