Rumah > pembangunan bahagian belakang > Tutorial Python > Cara menggunakan Python untuk melaksanakan laporan analisis kerja

Cara menggunakan Python untuk melaksanakan laporan analisis kerja

WBOY
Lepaskan: 2023-05-01 22:07:22
ke hadapan
1322 orang telah melayarinya

1. Matlamat artikel ini

Dapatkan permintaan Ajax dan huraikan medan yang diperlukan dalam JSON

Simpan data ke Excel

Simpan data ke MySQL untuk analisis mudah

2. Keputusan analisis

1 Pengenalan perpustakaan

Tahap gaji purata jawatan Python di lima bandar

2 🎜>

Kami memasukkan pertanyaan Syaratnya ialah Python sebagai contoh Syarat lain tidak dipilih secara lalai untuk melihat semua kedudukan Python Kemudian kami membuka konsol dan klik tab Rangkaian untuk melihat permintaan berikut:

Cara menggunakan Python untuk melaksanakan laporan analisis kerja

Berdasarkan hasil maklum balas, permintaan ini adalah yang kami perlukan. Kami boleh meminta alamat ini terus kemudian. Seperti yang dapat dilihat dari gambar, hasil berikut adalah maklumat setiap kedudukan.

Pada ketika ini kami tahu di mana untuk meminta data dan di mana untuk mendapatkan keputusan. Tetapi terdapat hanya 15 keping data pada halaman pertama dalam senarai keputusan Bagaimana untuk mendapatkan data pada halaman lain?

3. Permintaan parameter

Kami klik pada tab parameter, seperti berikut:

Mendapati bahawa tiga data borang telah diserahkan. Jelas sekali bahawa kd ialah kata kunci yang kami cari untuk. pn ialah nombor halaman semasa. Hanya lalai dahulu, jangan risau. Yang tinggal hanyalah membina permintaan untuk memuat turun 30 halaman data.

4 Bina permintaan dan huraikan data

Membina permintaan adalah sangat mudah, kami masih menggunakan perpustakaan permintaan untuk melakukannya. Mula-mula, kami membina data borang

data = {'first': 'true', 'pn': page, 'kd': lang_name}
Salin selepas log masuk

dan kemudian menggunakan permintaan untuk meminta alamat url Data JSON yang dihuraikan telah selesai. Memandangkan Lagou mempunyai sekatan yang ketat pada perangkak, kita perlu menambah semua medan pengepala dalam penyemak imbas dan meningkatkan selang perangkak yang saya tetapkan kepada 10-20s kemudian, dan kemudian data boleh diperolehi seperti biasa.

import requests

def get_json(url, page, lang_name):
   headers = {
       'Host': 'www.lagou.com',
       'Connection': 'keep-alive',
       'Content-Length': '23',
       'Origin': 'https://www.lagou.com',
       'X-Anit-Forge-Code': '0',
       'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0',
       'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
       'Accept': 'application/json, text/javascript, */*; q=0.01',
       'X-Requested-With': 'XMLHttpRequest',
       'X-Anit-Forge-Token': 'None',
       'Referer': 'https://www.lagou.com/jobs/list_python?city=%E5%85%A8%E5%9B%BD&cl=false&fromSearch=true&labelWords=&suginput=',
       'Accept-Encoding': 'gzip, deflate, br',
       'Accept-Language': 'en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7'
   }
   data = {'first': 'false', 'pn': page, 'kd': lang_name}
   json = requests.post(url, data, headers=headers).json()
   list_con = json['content']['positionResult']['result']
   info_list = []
   for i in list_con:
       info = []
       info.append(i.get('companyShortName', '无'))
       info.append(i.get('companyFullName', '无'))
       info.append(i.get('industryField', '无'))
       info.append(i.get('companySize', '无'))
       info.append(i.get('salary', '无'))
       info.append(i.get('city', '无'))
       info.append(i.get('education', '无'))
       info_list.append(info)
   return info_list
Salin selepas log masuk

4 Dapatkan semua data

Sekarang kami memahami cara menghuraikan data, satu-satunya perkara yang tinggal ialah meminta semua halaman secara berterusan data.

rreeee

Atas ialah kandungan terperinci Cara menggunakan Python untuk melaksanakan laporan analisis kerja. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan