第四篇 - 爬取前程無憂python相關工作

來源:互聯網
上載者:User

標籤: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相關工作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.