Pemalsu agen pengguna sederhana terkini dengan basis data dunia nyata.
desktop
, tablet
, dan/atau UA mobile
)useragent
, percent
, type
, device_brand
, browser
, browser_version
, os
, os_version
dan platform
pip install fake-useragent
Atau jika Anda menginstal beberapa versi Python/pip, gunakan pip3
:
pip3 install fake-useragent
Contoh penggunaan sederhana di bawah ini, lihat juga bab berikutnya dalam readme ini untuk penggunaan lebih lanjut:
from fake_useragent import UserAgent
ua = UserAgent ()
# Get a random browser user-agent string
print ( ua . random )
# Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0
# Or get user-agent string from a specific browser
print ( ua . chrome )
# Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
print ( ua . google )
# Mozilla/5.0 (iPhone; CPU iPhone OS 18_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) GSA/343.0.695551749 Mobile/15E148 Safari/604.1
print ( ua [ 'Chrome' ])
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36
print ( ua . firefox )
# Mozilla/5.0 (Android 14; Mobile; rv:133.0) Gecko/133.0 Firefox/133.0
print ( ua . ff )
# Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0
print ( ua . safari )
# Mozilla/5.0 (iPhone; CPU iPhone OS 17_6_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Mobile/15E148 Safari/604.1 Ddg/17.6
print ( ua . opera )
# Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 OPR/114.0.0.0
print ( ua . edge )
# Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0
Fitur tambahan yang kini ditawarkan oleh agen pengguna palsu sejak v1.2.0.
Jika Anda ingin menentukan daftar browser Anda sendiri, Anda dapat melakukannya melalui argumen browsers
(defaultnya adalah: ["Google", "Chrome", "Firefox", "Edge", "Opera"," Safari", "Android", "Yandex Browser", "Samsung Internet", "Opera Mobile", "Mobile Safari", "Firefox Mobile", "Firefox iOS", "Chrome Mobile", "Chrome Mobile iOS", "Mobile Safari UI/WKWebView", "Edge Mobile", "DuckDuckGo Mobile", "MiuiBrowser", "Whale", "Twitter", "Facebook", "Amazon Silk"]
.
Contoh ini hanya akan mengembalikan agen pengguna acak dari Edge dan Chrome:
from fake_useragent import UserAgent
ua = UserAgent ( browsers = [ 'Edge' , 'Chrome' ])
ua . random
Catatan: Agen-pengguna palsu mengetahui tentang browser: Chrome, Edge, Firefox, Safari, Opera, Android, Opera Mobile, Mobile Safari, Firefox Mobile, Firefox iOS, Chrome Mobile, Chrome Mobile iOS dan banyak lagi (lihat lagi daftar lengkap di atas).
Catatan #2: Karena fakeuser-agent v2.0.0, nama browser peka huruf besar-kecil!
Jika Anda ingin menentukan sistem operasi Anda sendiri, Anda dapat melakukannya melalui argumen os
(defaultnya adalah: ["Windows", "Linux", "Ubuntu", "Chrome OS", "Mac OS X", "Android", "iOS"]
).
Dalam contoh ini Anda hanya akan mendapatkan kembali agen pengguna Linux:
from fake_useragent import UserAgent
ua = UserAgent ( os = 'Linux' )
ua . random
Catatan: Karena fakeuser-agent v2.0.0, nama OS peka huruf besar-kecil!
Anda juga dapat menentukan jenis platform yang ingin Anda gunakan, Anda dapat melakukannya melalui argumen platforms
(defaultnya adalah ["desktop", "mobile", "tablet"]
. Contoh ini hanya akan mengembalikan agen pengguna acak dari ponsel perangkat:
from fake_useragent import UserAgent
ua = UserAgent ( platforms = 'desktop' )
ua . random
Jika Anda ingin mengembalikan string agen pengguna yang lebih baru, Anda dapat bermain-main dengan argumen min_version
(defaultnya adalah: 0.0
, artinya semua agen pengguna akan cocok).
Dalam contoh ini Anda hanya mendapatkan agen pengguna yang memiliki versi minimum 120.0:
from fake_useragent import UserAgent
ua = UserAgent ( min_version = 120.0 )
ua . random
Untuk kompatibilitas mundur, persentase penggunaan minimum masih dapat ditentukan dengan argumen min_percentage
. Namun, daftar agen pengguna saat ini tidak memuat statistik ini. Oleh karena itu semua agen pengguna akan cocok.
Petunjuk: Tentu saja Anda dapat menggabungkan semua argumen tersebut sesuai keinginan Anda!
Sejak versi 1.3.0, kini kami juga menawarkan properti "dapatkan" berikut yang mengembalikan seluruh kamus Python UA, bukan hanya string agen pengguna:
Peringatan Objek JSON mentah (dalam kamus Python) dikembalikan "apa adanya". Artinya, struktur data ini bisa berubah di masa depan!
Ketahuilah bahwa properti "dapatkan" di bawah ini mungkin tidak mengembalikan pasangan kunci/nilai yang sama di masa mendatang. Gunakan
ua.random
atau serupa seperti yang disebutkan di atas, jika Anda ingin menggunakan antarmuka yang stabil.
from fake_useragent import UserAgent
ua = UserAgent ()
# Random user-agent dictionary (object)
ua . getRandom
# {'percent': 0.8, 'useragent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.76', 'system': 'Edge 116.0 Win10', 'browser': 'edge', 'version': 116.0, 'os': 'win10'}
# More get properties:
ua . getFirefox
# {'percent': 0.3, 'useragent': 'Mozilla/5.0 (Windows NT 10.0; rv:109.0) Gecko/20100101 Firefox/118.0', 'system': 'Firefox 118.0 Win10', 'browser': 'firefox', 'version': 118.0, 'os': 'win10'}
ua . getChrome
ua . getSafari
ua . getEdge
# And a method with an argument.
# This is exactly the same as using: ua.getFirefox
ua . getBrowser ( 'firefox' )
Anda dapat mengganti string fallback menggunakan parameter fallback
, dalam kasus yang sangat jarang terjadi, ada yang gagal:
from fake_useragent import UserAgent
ua = UserAgent ( fallback = 'your favorite Browser' )
# in case if something went wrong, one more time it is REALLY!!! rare case
ua . random == 'your favorite Browser'
Jika Anda mencoba mendapatkan browser yang tidak dikenal:
from fake_useragent import UserAgent
ua = UserAgent ()
print ( ua . unknown )
#Error occurred during getting browser: randm, but was suppressed with fallback.
#Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0
Jika Anda perlu mengamankan beberapa atribut agar tidak menimpanya di UserAgent dengan metode __getattr__
gunakan safe_attrs
Anda dapat meneruskan nama atribut di sana. Setidaknya ini akan mencegah Anda memunculkan FakeUserAgentError ketika atribut tidak ditemukan.
Misalnya, saat menggunakan agen pengguna palsu dengan injections <https://github.com/tailhook/injections>
Anda perlu:
from fake_useragent import UserAgent
ua = UserAgent ( safe_attrs = ( '__injections__' ,))
Tolong, jangan gunakan jika Anda tidak mengerti mengapa Anda memerlukan ini. Ini ajaib untuk kasus yang jarang terjadi.
Pastikan Anda menggunakan versi terbaru!
pip install --upgrade fake-useragent
Atau jika tidak berhasil, coba instal versi paket terbaru seperti ini ( 2.0.1
adalah contohnya, periksa versi terbaru apa yang ada di PyPi):
pip install fake-useragent==2.0.1
Periksa versi melalui konsol Python:
import fake_useragent
print ( fake_useragent . __version__ )
Dan Anda selalu dapat memposting masalah.
Harap jangan lupa menyebutkan versi yang Anda gunakan.
Data agen pengguna yang kami ambil dari user-agents.net. Data disimpan dalam format JSONlines. File terletak di direktori: src/fake_useragent/data
.
Saat ini kami sedang mengerjakan skrip otomatisasi baru (lihat edisi #333) untuk mengambil skrip agen-pengguna dari agen-pengguna.net dan memperbarui agen-pengguna sesekali.
File data JSON adalah bagian dari paket Python, lihat pyproject.toml. Baca lebih lanjut tentang dukungan file Data.
Kami menganjurkan untuk menggunakan lingkungan virtual Python sebelum menginstal paket Pip, seperti:
python -m virtualenv env
source env/bin/activate
pip install -e .
pip install -r requirements.txt
tox
Untuk memperbaiki impor menggunakan ruff:
pip install -r requirements.txt
ruff check --select= " I " --fix .
Memperbaiki kesalahan pemformatan kode hitam:
pip install -r requirements.txt
black .
Catatan: Saat ruff v1.0 dirilis, kemungkinan besar kami beralih sepenuhnya ke ruff
alih-alih black
.
2.0.1
2.0.0 4 Desember 2024
"Google", "Chrome", "Firefox", "Edge", "Opera"," Safari", "Android", "Yandex Browser", "Samsung Internet", "Opera Mobile", "Mobile Safari", "Firefox Mobile", "Firefox iOS", "Chrome Mobile", "Chrome Mobile iOS", "Mobile Safari UI/WKWebView", "Edge Mobile", "DuckDuckGo Mobile", "MiuiBrowser", "Whale", "Twitter", "Facebook", "Amazon Silk"
"Windows", "Linux", "Ubuntu", "Chrome OS", "Mac OS X", "Android", "iOS"
"desktop", "mobile", "tablet"
1.5.1 16 Maret 2024
1.5.0 8 Maret 2024
1.4.0 24 November 2023
1.3.0 2 Oktober 2023
ua.getRandom
, ua.getFirefox
, ua.getChrome
, ua.getSafari
. Dan metode umum: ua.getBrowser(..)
(mis. getBrowser('firefox')
)os
'windows' untuk memeriksa nilai win10
dan win7
(sebelumnya hanya memeriksa win10
), sehingga mengembalikan lebih banyak UA1.2.1 2 Agustus 2023
min_percentage
1.2.0 2 Agustus 2023
use_external_data=True
dan verify_ssl
dihapus . Jika Anda menggunakan parameter tersebut, hapus saja parameter tersebut di kode Anda!1.1.3 20 Maret 2023
1.1.2 8 Februari 2023
1.1.1 4 Desember 2022
1.1.0 26 November 2022
pkg_resource
sebagai mekanisme cadangan dalam mencoba mengambil file data JSON lokal1.0.1 10 November 2022
importlib-metadata
& importlib-resources
sebagai dependensifiles()
berfungsiimportlib_metadata
sekarang juga dapat berfungsi pada versi Python sebelum 3.8MANIFEST.in
yang sudah usang1.0.0 17 November 2022
myproject.toml
dengan dukungan package-data
0.1.14 5 November 2022
pyproject.toml
+ pemeriksaan sintaksistox.ini
yang ditingkatkan0.1.13 21 Oktober 2022
browsers
, memungkinkan Anda mengganti nama browser yang ingin Anda gunakanblack
yang mendukung Flake0.1.12 31 Maret 2022
0.1.11 4 Oktober 2018
s3 + cloudfront
fallback ke heroku.com
, karena seseorang dari Florida melakukan ~25 juta permintaan bulan lalu0.1.10 11 Februari 2018
cloudfront
dokumen0.1.9 11 Februari 2018
w3schools.com
mengganti nama IE/Edge
menjadi Edge/IE
heroku.com
ke s3 + cloudfront
0.1.8 2 November 2017
useragentstring.com
Can't connect to local MySQL server through socket
0.1.7 2 April 2017
0.1.6 2 April 2017
use_cache_server
tidak mempengaruhi apa punw3schools.com <https://www.w3schools.com/browsers/browsers_stats.asp>
_ dipindahkan ke https
verify_ssl
ditambahkan, secara default adalah True
(konteks urllib.urlopen
ssl untuk Python 2.7.9- dan 3.4.3- tidak didukung)0.1.5 28 Februari 2017
ua.edge
ke Internet ExplorerEdge
use_cache_server
ditambahkanfake_useragent.settings.HTTP_TIMEOUT
menjadi 5 detik0.1.4 14 Desember 2016
fallback
, jika sumber data tidak tersediafake_useragent.FakeUserAgent
untuk fake_useragent.UserAgent
fake_useragent.UserAgentError
untuk fake_useragent.FakeUserAgentError
fake_useragent.settings.HTTP_TIMEOUT
menjadi 3 detiksafe_attrs
untuk mencegah penggantian oleh __getattr__
0.1.3 24 November 2016
fake_useragent.errors.FakeUserAgentError
jika tidak ada cara untuk mengunduh datafake_useragent.errors.FakeUserAgentError
alih-alih None
jika browser tidak dikenalgevent.sleep
di lingkungan yang dipatch gevent
ketika mencoba mengunduh dataXXX xxxxxxx xx, xxxx
Anda dapat mengunjungi halaman penulis.