標籤:turn name += odi span 選擇 write exce decode
環境:python3 pycharm
模組:requests,xlwt,urllib.request,re
正常三步走:
1.擷取原始碼
2.匹配原始碼,獲得目標資料
3.儲存到檔案中
直接上代碼,列舉兩種擷取原始碼的方式,儲存3中檔案的方式。自由選擇即可。
第一個標紅部分引號裡面的是網站url,太長就不貼上去了。尋找方式:百度前程無憂官網,搜尋python,點擊頁面2,將地址欄的地址粘貼到單引號裡面。找到2.html部分,將2替換成{}即可。
第二個標紅部分得到數字,是想獲得資料的頁數,根據需求自己填。
# import requestsimport re #用於正則匹配# import xlwt #excel表格需要用到import urllib.request#1.用requests模組擷取網頁html源碼# def get_content(page):# url = ‘‘.format(page)# html = requests.get(url).content.decode(‘gbk‘)# return html#1.用urllib模組擷取原始碼def get_content(page): url = ‘‘.format(page) ------------1 html = urllib.request.urlopen(url).read().decode(‘gbk‘) return html#2.擷取職位,薪資,公司名稱def get_Data(html): reg = re.compile(r‘class="t1 ".*?<a target="_blank" title="(.*?)".*?<span class="t2"><a target="_blank" ‘ r‘title="(.*?)".*?<span class="t3">(.*?)</span>.*?<span class="t4">(.*?)</span>.*?‘ r‘<span class="t5">(.*?)</span>‘,re.S) items = re.findall(reg,html) return items#3.儲存到.csv檔案中def save_file_csv(items): import csv csv_file = open(‘job.csv‘, ‘w‘, newline=‘‘) writer = csv.writer(csv_file) writer.writerow((‘職位名稱‘,‘公司名稱‘,‘公司地址‘,‘薪資‘,‘日期‘)) for item in items: writer.writerow(item)#3.儲存到excel表格中# def save_file_excel(items):# newTable = ‘jobs.xls‘# wb = xlwt.Workbook(encoding=‘utf-8‘)#建立excel檔案# ws = wb.add_sheet(‘job‘)#去建立表# headData = [‘職位名稱‘,‘公司名稱‘,‘公司地址‘,‘薪資‘,‘日期‘]# index = 1# for colnum in range(5):# ws.write(0,colnum,headData[colnum],xlwt.easyxf(‘font:bold on‘))# for item in items:# for j in range(len(item)):# ws.write(index,j,item[j])# index += 1# wb.save(newTable)#3.儲存到txt檔案中# def save_file_txt(items):# with open(‘job.txt‘,‘w‘) as f:# for item in items:# for j in range(len(item)):# f.write(item[j])# f.write(‘ ‘)# f.write(‘\n‘)if __name__ == ‘__main__‘: for i in range(1,3): ---------------2 html = get_content(i) items = get_Data(html) save_file_csv(items)
第四篇 - 爬取前程無憂python相關工作