日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
手把手教你使用Python網(wǎng)絡(luò)爬蟲獲取招聘信息

1.前言

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、蚌山網(wǎng)站維護、網(wǎng)站推廣。

現(xiàn)在在疫情階段,想找一份不錯的工作變得更為困難,很多人會選擇去網(wǎng)上看招聘信息??墒钦衅感畔⒂幸恍┦清e綜復雜的。而且不能把全部的信息全部羅列出來,以外賣的58招聘網(wǎng)站來看,資料整理的不清晰。

2.項目目標

獲取招聘信息,并批量把地點、 公司名、工資 、下載保存在txt文檔。

3.項目準備

軟件:PyCharm

需要的庫:requests、lxml、fake_useragent

網(wǎng)站如下:

 
 
 
 
  1. https://gz.58.com/job/pn2/?param7503=1&from=yjz2_zhaopin&PGTID=0d302408-0000-3efd-48f6-ff64d26b4b1c&ClickID={}

點擊下一頁時,ClickID={}每增加一頁自增加1,用{}代替變換的變量,再用for循環(huán)遍歷這網(wǎng)址,實現(xiàn)多個網(wǎng)址請求。

4.反爬措施

該網(wǎng)站上的反爬主要有兩點:

1、 直接使用requests庫,在不設(shè)置任何header的情況下,網(wǎng)站直接不返回數(shù)據(jù)

2、同一個ip連續(xù)訪問多次,直接封掉ip,起初我的ip就是這樣被封掉的。

為了解決這兩個問題,最后經(jīng)過研究,使用以下方法,可以有效解決。

1、獲取正常的 http請求頭,并在requests請求時設(shè)置這些常規(guī)的http請求頭。

2、使用 fake_useragent ,產(chǎn)生隨機的UserAgent進行訪問。

5.項目實現(xiàn)

1、定義一個class類繼承object,定義init方法繼承self,主函數(shù)main繼承self。導入需要的庫和網(wǎng)址,代碼如下所示。

 
 
 
 
  1. import requests
  2. from lxml import etree
  3. from fake_useragent import UserAgent
  4. class  Zhaopin(object):
  5.     def __init__(self):
  6.         self.url = "https://gz.58.com/job/pn2/?param7503=1&from=yjz2_zhaopin&PGTID=0d302408-0000-3efd-48f6-ff64d26b4b1c&ClickID={}"  # /zhuanchang/:搜索的名字的拼音縮寫
  7.     def main(self):
  8.         pass
  9. if __name__ == '__main__':
  10.     Spider =  Zhaopin()
  11.     Spider.main()

2、隨機產(chǎn)生UserAgent。

 
 
 
 
  1. for i in range(1, 50):
  2.     self.headers = {
  3.         'User-Agent': ua.random,
  4.     }

3、發(fā)送請求,獲取響應, 頁面回調(diào),方便下次請求。

 
 
 
 
  1. def get_page(self, url):
  2.     res = requests.get(url=url, headers=self.headers)
  3.     html = res.content.decode("utf-8")
  4.     return html

4、xpath解析找到對應的父節(jié)點。

 
 
 
 
  1. def page_page(self, html):
  2.     parse_html = etree.HTML(html)
  3.     one = parse_html.xpath('//div[@class="main clearfix"]//div[@class="leftCon"]/ul/li')

5、for遍歷,定義一個變量food_info保存,獲取到二級頁面對應的菜 名、 原 料 、下 載 鏈 接。

 
 
 
 
  1. for l in one:
  2.    o = l.xpath('.//a/span[1]/text()')[0].strip()
  3.    t = l.xpath('.//a//span[@class="name"]/text()')[0].strip()
  4.    f = l.xpath('.//p[@class="job_salary"]/text()')
  5.    thr = l.xpath('.//div[@class="comp_name"]//a/text()')[0].strip()
  6.    for e in f:
  7.        boss = '''
  8. %s:||%s: 
  9. 公司:%s,
  10. 工資:%s元/月
  11. =========================================================
  12.                                ''' % (o, t, thr, e)
  13.    print(str(boss)

6、將結(jié)果保存在txt文檔中,如下所示。

 
 
 
 
  1. f = open('g.txt', 'a', encoding='utf-8')  # 以'w'方式打開文件
  2. f.write(str(boss))
  3. # print(house_dict)
  4. f.write("\n")  # 鍵和值分行放,鍵在單數(shù)行,值在雙數(shù)行
  5. f.close()

7、調(diào)用方法,實現(xiàn)功能。

 
 
 
 
  1. html = self.get_page(url)
  2. self.page_page(html)

6.效果展示

1、點擊綠色小三角運行輸入起始頁,終止頁。

2、運行程序后,結(jié)果顯示在控制臺,如下圖所示。

3、保存txt文檔到本地,如下圖所示。

4、雙擊文件,內(nèi)容如下圖所示。

7.小結(jié)

1、不建議抓取太多數(shù)據(jù),容易對服務(wù)器造成負載,淺嘗輒止即可。

2、本文章就Python爬取招聘網(wǎng),在應用中出現(xiàn)的難點和重點,以及如何防止反爬,做出了相對于的解決方案。

3、介紹了如何去拼接字符串,以及列表如何進行類型的轉(zhuǎn)換。

4、代碼很簡單,希望能夠幫到你。

5、歡迎大家積極嘗試,有時候看到別人實現(xiàn)起來很簡單,但是到自己動手實現(xiàn)的時候,總會有各種各樣的問題,切勿眼高手低,勤動手,才可以理解的更加深刻。

6、可以選擇自己喜歡的分類,獲取工作,找到自己喜歡工作。


分享文章:手把手教你使用Python網(wǎng)絡(luò)爬蟲獲取招聘信息
鏈接分享:http://www.5511xx.com/article/cdcoosg.html