日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【爬虫基础】爬取学校官网分页招聘信息

發布時間:2024/1/18 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【爬虫基础】爬取学校官网分页招聘信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
**爬取某學校就業網站招聘信息**

用到的包

from urllib.request import urlopen import requests import json

一、獲取不同頁面的url
在頁面點擊F12,通過network中獲取不同網頁的url,觀察區別

1st page:
Request URL: http://job.ustb.edu.cn/front/zp_query/zpxxQuery.jspa?paramMap.xxlx=2%2C3&page.curPage=1&paramMap.gzcs=&paramMap.dwhydm=&paramMap.dwxzdm=&paramMap.dwmc=

2nd page:
http://job.ustb.edu.cn/front/zp_query/zpxxQuery.jspa?paramMap.xxlx=2%2C3&page.curPage=2&paramMap.gzcs=&paramMap.dwhydm=&paramMap.dwxzdm=&paramMap.dwmc=

3nd page:
Request URL: http://job.ustb.edu.cn/front/zp_query/zpxxQuery.jspa?paramMap.xxlx=2%2C3&page.curPage=3&paramMap.gzcs=&paramMap.dwhydm=&paramMap.dwxzdm=&paramMap.dwmc=

發現每翻一頁 “curPage" 后的數字都增加1。

二、通過循環獲取頁碼

通過”+str(k)+“ 的方式把字符串和數字聯系起來
提取前9頁的信息

for k in range(1,10):URL = "http://job.ustb.edu.cn/front/zp_query/zpxxQuery.jspa?paramMap.xxlx="+str(k)+"&page.curPage="+str(k)+""print(URL)

三、 獲取頁面中想要的信息

URL = "http://job.ustb.edu.cn/front/zp_query/zpxxQuery.jspa?paramMap.xxlx=1&page.curPage=1" html = requests.get(URL).text html = json.loads(html)#把json格式轉化成python對象

注:需要將頁面的json格式轉換成python對象,才能進一步提取信息,否則會出錯

json.dumps()#把python對象轉化成json格式對象 json.loads()#把json格式轉化成python對象

html解析后,顯示如下(有刪減):`

{'msg': 'Y','totalRecords': 27870,'pageCount': 1394,'curPage': 1,'data': [ {'click': 3,'createTime': 1582892950000,'dwmc': '中國郵政儲蓄銀行股份有限公司','dwszddm': '北京市','pp1Valid': 'N','pp2Valid': 'N','pp3Valid': 'N','pp4Valid': 'N','tid': '38093','title': '中國郵政儲蓄銀行 校招','updateTime': 1582893178000,'xqzwList': [],'zyCount': 0},{'click': 51,'createTime': 1582816968000,'dwmc': '北京市安全生產科學技術研究院','dwszddm': '北京市通州區','pp1Valid': 'N','pp2Valid': 'N','pp3Valid': 'N','pp4Valid': 'N','tid': '38078','updateTime': 1582816968000,'xqzwList': [{'hkyq': '1','id': 27973,'qyzt': 'Y','sftj': 'N','shzt': 'Y','wyspyq': '1','xbyq': '1','xqzw': '監測預警崗','xsgbjlyq': '1','yt': '1','zwlb': '1','zyxxList': []},{'hkyq': '1','id': 27972,'qyzt': 'Y','sftj': 'N','shzt': 'Y','wyspyq': '1','xbyq': '1','xqzw': '科研崗','xsgbjlyq': '1','yt': '1','zwlb': '1','zyxxList': []}],'zyCount': 0}],'zyCount': 0}],'showPageSize': 11,'beginPos': 1}`

我們需要的信息是 公司名稱(”dwmc“),地點(”dwszddm“),職位信息(”zyxxList“)
可以看到有些公司有職位信息,有些沒有(通過if語句判斷);職位信息也可能不止一個(通過在字典中建list解決)。

巧的是,這里不同公司的各種信息代碼都一樣,如果不一樣,就要用到正則表達式。如公司名稱可能是dwmc,dwmb,dwmd等等…

四、開始寫代碼啦

完整代碼如下

lst = [] for k in range(1,10):URL = "http://job.ustb.edu.cn/front/zp_query/zpxxQuery.jspa?paramMap.xxlx=1&page.curPage="+str(k)+""html = requests.get(URL).texthtml = json.loads(html)for i in range(len(html["data"])): page = {}job = []page["公司名稱"] = (html["data"][i]["dwmc"])page["地點"]= (html["data"][i]["dwszddm"])if len(html["data"][i]["xqzwList"]) != 0:for j in range(len(html["data"][i]["xqzwList"])):job.append(html["data"][i]["xqzwList"][j]["xqzw"])page["職位名稱"] = joblst.append(page)

爬蟲+python 小白,寫的羅里吧嗦勉強能爬出來,請大佬指正。

總結

以上是生活随笔為你收集整理的【爬虫基础】爬取学校官网分页招聘信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。