電子版參考書:https://pan.baidu.com/s/15R08yEjLDj8FxrBwnUaTyA 註:僅限網上學習交流,如有侵權請聯繫我 我們一起學習┏(^0^)┛ 自我介紹,我是一個python邁過基礎游蕩在爬蟲自學之路的一隻小螞蟻。在電腦編程漫長枯燥的道路上,很多技術博客幫助了我, ...
電子版參考書:https://pan.baidu.com/s/15R08yEjLDj8FxrBwnUaTyA 註:僅限網上學習交流,如有侵權請聯繫我
我們一起學習┏(^0^)┛
自我介紹,我是一個python邁過基礎游蕩在爬蟲自學之路的一隻小螞蟻。在電腦編程漫長枯燥的道路上,很多技術博客幫助了我,心懷感激,想把自己的經歷也記錄下來,這是我的第一篇博客,如有瑕疵請多包涵,謝謝~對了,如果你也是自學入門的,來試試hackerrank.com,我只是需要一個隊友~你會有不一樣的感受的^_^
安裝第三方庫經常報錯:error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
下載:https://download.microsoft.com/download/5/f/7/5f7acaeb-8363-451f-9425-68a90f98b238/visualcppbuildtools_full.exe?fixForIE=.exe. 安裝挺久,但一勞永逸有木有哈哈?
安裝selenium,chromedriver.exe地址:http://chromedriver.storage.googleapis.com/index.html?path=2.41/()
我的是windows系統,文件放在python/Scripts目錄下,不用配置環境變數。本文只用Chrome爬蟲。
照教程爬了貓眼排行榜還是啥也不懂的我,接了朋友給的艱巨任務:智聯招聘(【內牛滿面】)
所學庫不多,但好歹邁出了第一步。對代碼運行結果也有困惑,希望交流~
from urllib.parse import urlencode import requests import json import csv import time def get_one_page(page): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36' } params = { 'start': '', 'pageSize': '60', 'cityId': '489', 'workExperience': '-1', 'education': '-1', 'companyType': '-1', 'employmentType': '-1', 'jobWelfareTag': '-1', 'kw': '數據分析師', 'kt': '3', 'lastUrlQuery': {"p": page, "pageSize": "60", "jl": "489", "kw": "數據分析師", "kt": "3" } } base_url = 'https://fe-api.zhaopin.com/c/i/sou?' url = base_url + urlencode(params) # print(url) response = requests.get(url, headers=headers) try: if response.status_code == 200: return response.json() except Exception as e: print('Error:', e) @get_one_page def func(page): if page == 0: get_one_page().params.pop('start') get_one_page().params['lastUrlQuery'].pop('p') else: get_one_page().params['start'] = 60 * (page - 1) return get_one_page() def parse_page(json): if json.get('data'): data = json.get('data').get('results') data_list = [] for item in data: job_name = item.get('jobName') salary = item.get('salary') company = item.get('company').get('name') welfare = item.get('welfare') city = item.get('city').get('name') work = item.get('workingExp').get('name') edu_level = item.get('eduLevel').get('name') data_list.append([job_name, company, welfare, salary, city, work, edu_level]) print(data_list) return data_list def save_data(datas): with open('data_zhilian_findjob.csv', 'w') as csvfile: writer = csv.writer(csvfile) writer.writerow(['job_name', 'company', 'welfare,salary', 'city', 'workingExp', 'edu_level']) for row in datas: writer.writerow(row) def main(): for page in range(20): json = get_one_page(page) data = parse_page(json) # print(data) time.sleep(0.8) save_data(data) if __name__ == '__main__': main()