<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
現在在疫情階段,想找一份不錯的工作變得更為困難,很多人會選擇去網上看招聘資訊。可是招聘資訊有一些是錯綜複雜的。而且不能把全部的資訊全部羅列出來,以外賣的58招聘網站來看,資料整理的不清晰。
獲取招聘資訊,並批次把地點、 公司名、工資 、下載儲存在txt檔案。
軟體:PyCharm
需要的庫:requests、lxml、fake_useragent
網站如下:
https://gz.58.com/job/pn2/?param7503=1&from=yjz2_zhaopin&PGTID=0d302408-0000-3efd-48f6-ff64d26b4b1c&ClickID={}
點選下一頁時,ClickID={}每增加一頁自增加1,用{}代替變換的變數,再用for迴圈遍歷這網址,實現多個網址請求。
該網站上的反爬主要有兩點:
1、 直接使用requests庫,在不設定任何header的情況下,網站直接不返回資料
2、同一個ip連續存取多次,直接封掉ip,起初我的ip就是這樣被封掉的。
為了解決這兩個問題,最後經過研究,使用以下方法,可以有效解決。
1、獲取正常的 http請求頭,並在requests請求時設定這些常規的http請求頭。
2、使用 fake_useragent ,產生隨機的UserAgent進行存取。
1、定義一個class類繼承object,定義init方法繼承self,主函數main繼承self。匯入需要的庫和網址,程式碼如下所示。
import requests from lxml import etree from fake_useragent import UserAgent class Zhaopin(object): def __init__(self): self.url = "https://gz.58.com/job/pn2/?param7503=1&from=yjz2_zhaopin&PGTID=0d302408-0000-3efd-48f6-ff64d26b4b1c&ClickID={}" # /zhuanchang/:搜尋的名字的拼音縮寫 def main(self): pass if __name__ == '__main__': Spider = Zhaopin() Spider.main()
2、隨機產生UserAgent。
for i in range(1, 50): self.headers = { 'User-Agent': ua.random, }
3、傳送請求,獲取響應, 頁面回撥,方便下次請求
def get_page(self, url): res = requests.get(url=url, headers=self.headers) html = res.content.decode("utf-8") return html
4、xpath解析找到對應的父節點。
def page_page(self, html): parse_html = etree.HTML(html) one = parse_html.xpath('//div[@class="main clearfix"]//div[@class="leftCon"]/ul/li')
5、for遍歷,定義一個變數food_info儲存,獲取到二級頁面對應的菜 名、 原 料 、下 載 鏈 接
for l in one: o = l.xpath('.//a/span[1]/text()')[0].strip() t = l.xpath('.//a//span[@class="name"]/text()')[0].strip() f = l.xpath('.//p[@class="job_salary"]/text()') thr = l.xpath('.//div[@class="comp_name"]//a/text()')[0].strip() for e in f: boss = ''' %s:||%s: 公司:%s, 工資:%s元/月 ========================================================= ''' % (o, t, thr, e) print(str(boss)
6、將結果儲存在txt檔案中,如下所示。
f = open('g.txt', 'a', encoding='utf-8') # 以'w'方式開啟檔案 f.write(str(boss)) # print(house_dict) f.write("n") # 鍵和值分行放,鍵在單數行,值在雙數行 f.close()
7、呼叫方法,實現功能。
html = self.get_page(url) self.page_page(html)
1、點選綠色小三角執行輸入起始頁,終止頁。
2、執行程式後,結果顯示在控制檯,如下圖所示。
3、儲存txt檔案到本地,如下圖所示。
4、雙擊檔案,內容如下圖所示。
1、不建議抓取太多資料,容易對伺服器造成負載,淺嘗輒止即可。
2、本文章就Python爬取招聘網,在應用中出現的難點和重點,以及如何防止反爬,做出了相對於的解決方案。
3、介紹瞭如何去拼接字串,以及列表如何進行型別的轉換。
4、程式碼很簡單,希望能夠幫到你。
5、歡迎大家積極嘗試,有時候看到別人實現起來很簡單,但是到自己動手實現的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。
6、可以選擇自己喜歡的分類,獲取工作,找到自己喜歡工作。
以上就是詳解如何使用Python網路爬蟲獲取招聘資訊的詳細內容,更多關於Python爬蟲獲取招聘資訊的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45