中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python2如何使用bs4爬取騰訊社招

發布時間:2021-08-12 10:57:20 來源:億速云 閱讀:137 作者:小新 欄目:開發技術

這篇文章主要介紹了python2如何使用bs4爬取騰訊社招,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

目的:獲取騰訊社招這個頁面的職位名稱及超鏈接 職位類別 人數 地點和發布時間

要求:使用bs4進行解析,并把結果以json文件形式存儲

注意:如果直接把python列表沒有序列化為json數組,寫入到json文件,會產生中文寫不進去到文件,所以要序列化并進行utf-8編碼后寫入文件。

# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup as bs
import json
url = 'https://hr.tencent.com/position.php?'
params = {
  'start':'10'
}
headers = {
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
}
# 獲取騰訊社招某個頁面的頁面源碼
html = requests.get(url, params = params, headers = headers).text
# 創建soup對象,使用lxml解析器
soup = bs(html,'lxml')
# 選取類名為odd和even的tr標簽
result1 = soup.select('tr[class="odd"]')
result2 = soup.select('tr[class="even"]')
# 列表拼接 l = [1,2] + [3,4],則列表l為[1,2,3,4]
result = result1 + result2
# 把數據存放在列表里面,列表的每個元素都為一個字典
l = []
data = {}
for item in result:
  # 獲取標簽的文本內容
  job = item.find_all('a')[0].get_text().encode('utf-8')
  category = item.find_all('td')[1].get_text().encode('utf-8')
  number = item.find_all('td')[2].get_text().encode('utf-8')
  address = item.find_all('td')[3].get_text().encode('utf-8')
  public_time = item.find_all('td')[4].get_text().encode('utf-8')
  # 獲取標簽的屬性值
  link = item.find_all('a')[0].attrs['href']
  fulllink = ('https://hr.tencent.com/' + link).encode('utf-8')
  data['job'] = job
  data['category'] = category
  data['number'] = number
  data['address'] = address
  data['public_time'] = public_time
  data['fulllink'] = fulllink
  l.append(data)
  # 原來中文寫不到文件里面的報錯原因,沒把python列表序列化為json數組
  # with open('tencent.json','a') as f:
  #  f.write(str(data) + '\n')
# 方法1存儲數據,上面字典的值不用先進行utf-8編碼
# 把數據以json文件形式存儲
# f = open('tencent.json','a')
# 把python列表序轉化為json對象。本地操作常用的是load dump。網絡操作常用的loads dumps,而loads常用來把json格式轉化為python格式,dumps把python格式序列為json格式
# dictdata = json.dumps(l,ensure_ascii=False)
# 把json對象寫入json文件
# f.write(dictdata.encode('utf-8'))
# f.close()

# 把數據存入tencent.json文件內
json.dump(l,open('tencent.json','a'),ensure_ascii=False)

感謝你能夠認真閱讀完這篇文章,希望小編分享的“python2如何使用bs4爬取騰訊社招”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

四平市| 怀化市| 阿鲁科尔沁旗| 射洪县| 贵港市| 芒康县| 乌兰察布市| 黑龙江省| 庆元县| 同仁县| 鄂州市| 苏尼特左旗| 乌兰察布市| 江川县| 阿拉善盟| 百色市| 专栏| 正蓝旗| 浠水县| 互助| 阳东县| 秦皇岛市| 会昌县| 潮安县| 九寨沟县| 达日县| 宜川县| 永胜县| 岗巴县| 万宁市| 庆云县| 扎兰屯市| 达拉特旗| 聂荣县| 普陀区| 曲沃县| 盐津县| 哈尔滨市| 镇巴县| 肥西县| 广州市|