python爬蟲-抓取騰訊招聘資訊頁面
本爬蟲主要使用了requests、json、bs4(BeautifulSoup)等相關模組,不完善之處請大家不吝賜教!:)
出處:https://github.com/jingsupo/python-spider/blob/master/day04/04tencent_hr.py
# -*- coding:utf-8 -*-
import requests, json, time
from bs4 import BeautifulSoup
class tencent_hr(object):
def __init__(self):
self.base_url = "http://hr.tencent.com/position.php?"
self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"}
self.item_list = []
self.page = 0
# 傳送請求
def send_request(self, url, params={}):
time.sleep(2)
try:
response = requests.get(url, params=params, headers=self.headers)
return response.content
except Exception as e:
print e
# 解析資料
def parse_data(self, data):
# 初始化
bs = BeautifulSoup(data, `lxml`)
# 獲取標籤-結果為列表
data_list = bs.select(`.even, .odd`)
# 將結果中的每一行資料提取出來
for data in data_list:
data_dict = {}
data_dict[`work_name`] = data.select(`td a`)[0].get_text()
data_dict[`work_type`] = data.select(`td`)[1].get_text()
data_dict[`work_count`] = data.select(`td`)[2].get_text()
data_dict[`work_place`] = data.select(`td`)[3].get_text()
data_dict[`work_time`] = data.select(`td`)[4].get_text()
# 將每條字典資料新增進列表
self.item_list.append(data_dict)
# 判斷是否是最後一頁,條件:是否有noactive值
# 先找到下一頁的標籤
next_label = bs.select(`#next`)
# 根據標籤獲取屬性class的值-返回結果為列表
judge = next_label[0].get(`class`)
return judge
# 寫入檔案
def write_file(self):
# 將列表轉換成字串
data_str = json.dumps(self.item_list)
with open(`04tencent_hr.json`, `w`) as f:
f.write(data_str)
# 排程執行
def run(self):
while True:
# 拼接引數
params = {
"keywords": "python",
"tid": "0",
"lid": "2156",
"start": self.page,
}
# 傳送請求
data = self.send_request(self.base_url, params=params)
# 解析資料
judge = self.parse_data(data)
self.page += 10
print self.page
# 如果到了最後一頁,出現noactive,跳出迴圈
if judge:
break
self.write_file()
if __name__ == `__main__`:
spider = tencent_hr()
spider.run()
相關文章
- Python爬蟲二:抓取京東商品列表頁面資訊Python爬蟲
- python爬蟲--招聘資訊Python爬蟲
- Python爬蟲抓取股票資訊Python爬蟲
- Scrapy爬蟲:實習僧網最新招聘資訊抓取爬蟲
- python爬蟲抓取哈爾濱天氣資訊(靜態爬蟲)Python爬蟲
- 爬蟲app資訊抓取之apk反編譯抓取爬蟲APPAPK編譯
- Python爬蟲抓取知乎所有使用者資訊Python爬蟲
- Python爬蟲實戰之(二)| 尋找你的招聘資訊Python爬蟲
- 利用Python爬蟲獲取招聘網站職位資訊Python爬蟲網站
- 爬蟲抓取網頁資料原理爬蟲網頁
- 用python抓取智聯招聘資訊並存入excelPythonExcel
- 編寫web2.0爬蟲——頁面抓取部分Web爬蟲
- Java爬蟲系列二:使用HttpClient抓取頁面HTMLJava爬蟲HTTPclientHTML
- python爬蟲——爬取大學排名資訊Python爬蟲
- python爬蟲--爬取鏈家租房資訊Python爬蟲
- 如何用python爬蟲分析動態網頁的商品資訊?Python爬蟲網頁
- 如何抓取網頁資訊?網頁
- 小白學 Python 爬蟲(25):爬取股票資訊Python爬蟲
- Python爬蟲爬取淘寶,京東商品資訊Python爬蟲
- 爬蟲抓取網頁的詳細流程爬蟲網頁
- 用Python爬蟲抓取代理IPPython爬蟲
- Python爬蟲實戰:爬取淘寶的商品資訊Python爬蟲
- 如何用Python爬資料?(一)網頁抓取Python網頁
- 如何讓Python爬蟲一天抓取100萬張網頁Python爬蟲網頁
- python網路爬蟲_Python爬蟲:30個小時搞定Python網路爬蟲視訊教程Python爬蟲
- Python爬蟲教程-18-頁面解析和資料提取Python爬蟲
- Python爬取所有人位置資訊——騰訊位置大資料!Python大資料
- 爬蟲原理與資料抓取爬蟲
- Python網路爬蟲抓取動態網頁並將資料存入資料庫MYSQLPython爬蟲網頁資料庫MySql
- [Python] 網路爬蟲與資訊提取(1) 網路爬蟲之規則Python爬蟲
- Python爬蟲入門教程 50-100 Python3爬蟲爬取VIP視訊-Python爬蟲6操作Python爬蟲
- python爬蟲58同城(多個資訊一次爬取)Python爬蟲
- Python爬蟲訓練:爬取酷燃網視訊資料Python爬蟲
- Python爬蟲新手教程:手機APP資料抓取 pyspiderPython爬蟲APPIDE
- Java爬蟲-爬取疫苗批次資訊Java爬蟲
- 爬蟲例項-淘寶頁面商品資訊獲取爬蟲
- Python爬蟲抓取技術的門道Python爬蟲
- python 爬取騰訊視訊的全部評論Python
- 【招聘資訊】騰訊雲資料庫高階專家資料庫