最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

python爬取網(wǎng)站招聘信息

2022-10-23 23:01 作者:沐笙--ms  | 我要投稿


?

《python程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告》

?


題目

一、?設(shè)計(jì)方案(思路)

爬取網(wǎng)頁(yè)為:https://www.jobui.com/jobs/ ?爬取對(duì)象為:python開(kāi)發(fā)工程師,職位地點(diǎn):廈門。將爬取的結(jié)果存放在excel文件中,存儲(chǔ)信息包括:職位名稱、經(jīng)驗(yàn)、學(xué)歷、薪資

什么叫爬蟲(chóng)呢?

就是使用編程語(yǔ)言所編寫的程序,在互聯(lián)網(wǎng)上模擬器獲取(大量)數(shù)據(jù)

?

瀏覽器工作原理 : 發(fā)請(qǐng)求,得響應(yīng)

爬蟲(chóng)的工作原理:發(fā)請(qǐng)求,得響應(yīng),數(shù)據(jù)的解析,存儲(chǔ)

?

直接使用requests庫(kù),在不設(shè)置任何header的情況下,網(wǎng)站直接不返回?cái)?shù)據(jù)。同一個(gè)ip連續(xù)訪問(wèn)多次,直接封掉ip。

反爬的一種手段---(偽裝成瀏覽器)

?headers= {}

爬取數(shù)據(jù)的步驟

安裝python和python庫(kù)requests、BeautifulSoup、openpyxl

?

1.?找到要爬取的目標(biāo)網(wǎng)站,發(fā)送請(qǐng)求 requests

2.?分析有效的url

3.?提取數(shù)據(jù)有用的數(shù)據(jù)

4.?數(shù)據(jù)的存儲(chǔ)

?

爬蟲(chóng):采集數(shù)據(jù),從網(wǎng)頁(yè)上面爬取到想要的內(nèi)容

?

怎么可以獲取數(shù)據(jù)?

靜態(tài)網(wǎng)頁(yè):打開(kāi)網(wǎng)頁(yè),獲取源碼,從源碼中間提取想要的內(nèi)容

??????動(dòng)態(tài)網(wǎng)頁(yè):找到請(qǐng)求,請(qǐng)求方式

?

?

????????

二、?程序流程圖

?


三、?代碼

?

import requests ???#向服務(wù)器發(fā)送請(qǐng)求的模塊(相當(dāng)于瀏覽)
from bs4 import BeautifulSoup ??#用于解析和提取數(shù)據(jù)
import openpyxl ?#讀寫excel文件
import time

lst=[]
def send_requests(id,page):
????url='https://www.jobui.com/jobs?cityKw=%E5%8E%A6%E9%97%A8&jobKw=python%E5%BC%80%E5%8F%91%E5%B7%A5%E7%A8%8B'.format(id,page) ?#相當(dāng)于瀏覽器的地址欄

????#用于反爬的一種手段―(偽裝成瀏覽器)
????headers= {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'}

????resp=requests.get(url,headers=headers) ??#相當(dāng)于在瀏覽器的地址欄中輸入網(wǎng)址之后回車的過(guò)程

????return resp.text

def parse_html(html): ??#html代表是從服務(wù)器端響應(yīng)回來(lái)的數(shù)據(jù)(內(nèi)容)
????bs=BeautifulSoup(html,'html.parser') ???#得到BeautifulSoup的對(duì)象
????job_lst=bs.find_all('div',class_='c-job-list') ???#得到包含職位的div,--15
????for item in job_lst: ????#分別遍歷每一個(gè)職位數(shù)據(jù)每個(gè)item就是一個(gè)c-job-lst
????????name=item.find('h3').text ?#職位名稱
????????div_tag=item.find('div',class_='job-desc')
????????span_tag=div_tag.find_all('span')
????????url=item.find('a',class_='job-name')['href'] ??#提取class樣式為job-namea標(biāo)簽,獲取屬性為href的值
????????lst.append([name,span_tag[0].text,span_tag[1].text,span_tag[2].text])

????#存儲(chǔ)
def save(lst):
????????wk=openpyxl.Workbook() ?#打開(kāi)工作蒲
????????sheet=wk.active ??#活動(dòng)頁(yè)(凹下去的sheet
????????#遍歷列表
????????for item in lst:
????????????sheet.append(item)
????????????#保存文件
????????????wk.save('招聘信息.xlsx')

#啟動(dòng)爬蟲(chóng)程序
def start(id,pages):

????for page in range(1,pages+1) :
????????resp_data=send_requests(id,page) #發(fā)送請(qǐng)求
????????parse_html(resp_data)
????????time.sleep(2)
????save(lst)


if __name__ == '__main__':
?????????pages=3
?????????start(id,pages)

?

四、?結(jié)果分析

?


?

五、?總結(jié)

大家找工作都是通過(guò)各種招聘app,信息全部羅列出來(lái),可是招聘信息有一些是錯(cuò)綜復(fù)雜的。而且不能把全部的信息全部羅列出來(lái),這樣也讓人很苦惱,所以今天我們就通過(guò)爬蟲(chóng)技術(shù),為大家解決這個(gè)問(wèn)題。首先我們的爬取目標(biāo)是獲取招聘信息,并批量把職位名稱經(jīng)驗(yàn)、工資 、學(xué)歷等詳細(xì)資料做成excel。這里我們爬取網(wǎng)頁(yè)為:https://www.jobui.com/jobs/為例。在獲取數(shù)據(jù)之前簡(jiǎn)單的對(duì)網(wǎng)站進(jìn)行了分析,和對(duì)該網(wǎng)站上的反爬等操作。

?


?

?

?

?

?


python爬取網(wǎng)站招聘信息的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
山西省| 东城区| 恩施市| 绵阳市| 曲周县| 时尚| 太仆寺旗| 庐江县| 当雄县| 紫阳县| 手游| 同江市| 静安区| 九寨沟县| 白水县| 乐昌市| 韶山市| 易门县| 麻栗坡县| 偏关县| 肃宁县| 镇原县| 盐城市| 商水县| 阿克陶县| 杭锦后旗| 夏河县| 吉首市| 宁化县| 峨边| 恩平市| 南投县| 尉氏县| 徐闻县| 涿鹿县| 苗栗县| 潍坊市| 鹿泉市| 镇康县| 桐乡市| 巨野县|