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爬蟲
- Java爬蟲系列二:使用HttpClient抓取頁面HTMLJava爬蟲HTTPclientHTML
- 編寫web2.0爬蟲——頁面抓取部分Web爬蟲
- Python爬蟲使用代理proxy抓取網頁Python爬蟲網頁
- Python爬蟲抓取知乎所有使用者資訊Python爬蟲
- 爬蟲app資訊抓取之apk反編譯抓取爬蟲APPAPK編譯
- 爬蟲抓取網頁資料原理爬蟲網頁
- 爬蟲技術:(JavaScript渲染)動態頁面抓取超級指南爬蟲JavaScript
- wget 網頁爬蟲,網頁抓取工具wget網頁爬蟲
- 爬蟲技術 -- 進階學習(十)網易新聞頁面資訊抓取(htmlagilitypack搭配scrapysharp)爬蟲HTML
- 爬蟲抓取網頁的詳細流程爬蟲網頁
- 利用Python爬蟲獲取招聘網站職位資訊Python爬蟲網站
- Python爬蟲實戰之(二)| 尋找你的招聘資訊Python爬蟲
- Python 自用程式碼(scrapy多級頁面(三級頁面)爬蟲)Python爬蟲
- [python爬蟲] 招聘資訊定時系統 (一).BeautifulSoup爬取資訊並儲存MySQLPython爬蟲MySql
- 用python實現的抓取騰訊視訊所有電影的爬蟲Python爬蟲
- 用Python爬蟲抓取代理IPPython爬蟲
- Python爬蟲: 抓取One網頁上的每日一話和圖Python爬蟲網頁
- python爬蟲---網頁爬蟲,圖片爬蟲,文章爬蟲,Python爬蟲爬取新聞網站新聞Python爬蟲網頁網站
- 如何讓Python爬蟲一天抓取100萬張網頁Python爬蟲網頁
- Python爬蟲抓取技術的門道Python爬蟲
- python爬蟲之抓取小說(逆天邪神)Python爬蟲
- Python爬蟲教程-13-爬蟲使用cookie爬取登入後的頁面(人人網)(下)Python爬蟲Cookie
- Python爬蟲教程-12-爬蟲使用cookie爬取登入後的頁面(人人網)(上)Python爬蟲Cookie
- python爬蟲——爬取大學排名資訊Python爬蟲
- 用python抓取智聯招聘資訊並存入excelPythonExcel
- 爬蟲抓取UserAgent問題爬蟲
- Python爬蟲,抓取淘寶商品評論內容!Python爬蟲
- python爬蟲-抓取內涵吧內涵段子Python爬蟲
- Python爬蟲教程-18-頁面解析和資料提取Python爬蟲
- python爬蟲--爬取鏈家租房資訊Python爬蟲
- 如何用python爬蟲分析動態網頁的商品資訊?Python爬蟲網頁
- 網路爬蟲:使用Scrapy框架編寫一個抓取書籍資訊的爬蟲服務爬蟲框架
- python 爬蟲網頁登陸Python爬蟲網頁