日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python爬虫爬取智联招聘(进阶版)

發布時間:2023/12/14 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python爬虫爬取智联招聘(进阶版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

運行平臺:?Windows ?
Python版本:?Python3.6 ?
IDE:?Sublime Text ??
其他工具:??Chrome瀏覽器

0、寫在前面的話

本文是基于基礎版上做的修改,如果沒有閱讀基礎版,請移步?Python爬蟲抓取智聯招聘(基礎版)

在基礎版中,構造url時使用了urllib庫的urlencode函數:

url = 'https://sou.zhaopin.com/jobs/searchresult.ashx?' + urlencode(paras)
? ?try:
? ? ? ?# 獲取網頁內容,返回html數據
? ? ? ?response = requests.get(url, headers=headers)
? ?...

其實用reuqests庫可以完成此工作,本例將該部分改為:

url = 'https://sou.zhaopin.com/jobs/searchresult.ashx?'
? ?try:
? ? ? ?# 獲取網頁內容,返回html數據
? ? ? ?response = requests.get(url, params=paras, headers=headers)
? ?...

1、找到職位鏈接

為了得到更加詳細的職位信息,我們要找到職位鏈接,在新的頁面中尋找數據。上篇文章中我們沒有解析職位鏈接,那再來找一下吧:

修改一下正則表達式:

# 正則表達式進行解析
? ?pattern = re.compile('<td class="zwmc".*?href="(.*?)" target="_blank">(.*?)</a>.*?' # 匹配職位詳情地址和職位名稱
? ? ? ?'<td class="gsmc">.*? target="_blank">(.*?)</a>.*?' ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 匹配公司名稱
? ? ? ?'<td class="zwyx">(.*?)</td>', re.S) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# 匹配月薪 ? ? ?

? ?# 匹配所有符合條件的內容
? ?items = re.findall(pattern, html) ?

2、求工資平均值

工資有兩種形式xxxx-yyyy或者面議,此處取第一種形式的平均值作為分析標準,雖有偏差但是也差不多,這是求職中最重要的一項指標。

for item in items:
? ?salary_avarage = 0
? ?temp = item[3]
? ?if temp != '面議':
? ? ? ?idx = temp.find('-')
? ? ? ?# 求平均工資
? ? ? ?salary_avarage = (int(temp[0:idx]) + int(temp[idx+1:]))//2

3、解析職位詳細信息

3.1 網頁解析

第一步已經將職位地址找到,在瀏覽器打開之后我們要找到如下幾項數據:

在開發者工具中查找這幾項數據,如下圖所示:

HTML結構如下所示:

# 數據HTML結構
<body>
|------<div class="terminalpage clearfix">
==>|------<div class="terminalpage-left">
==>==>|------<ul class="terminal-ul clearfix">
==>==>==>|------<li><span>工作經驗:</span><strong>3-5年</strong>
==>==>==>|------<li><span>最低學歷:</span><strong>本科</strong>
==>==>|------<div class="terminalpage-main clearfix">
==>==>==>|------<div class="tab-cont-box">
==>==>==>==>|------<div class="tab-inner-cont">
==>==>==>==>==>|------<p>工作職責:</p>
==>==>==>==>==>|------<p>********</p>
==>==>==>==>==>|------<p>********</p> ? ?# 工作職責詳情
==>|------<div class="terminalpage-right"> ? ?
==>==>|------<div class="company-box">
==>==>==>|------<ul class="terminal-ul clearfix terminal-company mt20">
==>==>==>==>|------<li><span>公司規模:</span><strong>100-499人</strong>

3.2 代碼實現

為了學習一下BeautifulSoup庫的使用,我們不再使用正則表達式解析,而是BeautifulSoup庫解析HTML標簽來獲得我們想要得到的內容。

解析庫的安裝:pip install beautifulsoup4

下面介紹一下本例中使用到的功能:

  • 庫的引入:from bs4 import BeautifulSoup

  • 數據引入:soup = BeautifulSoup(html, 'html.parser')?,其中html是我們要解析的html源碼,html.parser指定HTML的解析器為Python標準庫。

  • 查找標簽:find(name,attrs,recursive,text,**kwargs),find返回的匹配結果的第一個元素

  • 查找所有標簽:find_all(name,attrs,recursive,text,**kwargs)可以根據標簽名,屬性,內容查找文檔,返回找到的所有元素

  • 獲取內容:get_text()就可以獲取文本內容

  • 獲取子標簽:soup.p這種方式就可以獲取到soup下的第一個p標簽

def get_job_detail(html):
? ?requirement = ''
? ?# 使用BeautifulSoup進行數據篩選
? ?soup = BeautifulSoup(html, 'html.parser')
? ?# 找到<ul class="terminal-ul clearfix">標簽
? ?for ul in soup.find_all('ul', class_='terminal-ul clearfix'):
? ? ? ?# 該標簽共有8個子標簽,分別為:
? ? ? ?# 職位月薪|工作地點|發布日期|工作性質|工作經驗|最低學歷|招聘人數|職位類別
? ? ? ?lis = ul.find_all('strong')
? ? ? ?# 工作經驗
? ? ? ?years = lis[4].get_text()
? ? ? ?# 最低學歷
? ? ? ?education = lis[5].get_text()
? ?# 篩選任職要求
? ?for terminalpage in soup.find_all('div', class_='terminalpage-main clearfix'):
? ? ? ?for box in terminalpage.find_all('div', class_='tab-cont-box'):
? ? ? ? ? ?cont = box.find_all('div', class_='tab-inner-cont')[0]
? ? ? ? ? ?ps = cont.find_all('p')
? ? ? ? ? ?# "立即申請"按鈕也是個p標簽,將其排除
? ? ? ? ? ?for i in range(len(ps) - 1):
? ? ? ? ? ? ? ?requirement += ps[i].get_text().replace("\n", "").strip() ? # 去掉換行符和空格

? ?# 篩選公司規模,該標簽內有四個或五個<li>標簽,但是第一個就是公司規模
? ?scale = soup.find(class_='terminal-ul clearfix terminal-company mt20').find_all('li')[0].strong.get_text()

? ?return {'years': years, 'education': education, 'requirement': requirement, 'scale': scale}

本次我們將職位描述寫入txt文件,其余信息寫入csv文件。

csv文件采用逐行寫入的方式這樣也可以省點內存,修改write_csv_rows函數:

def write_csv_rows(path, headers, rows):
? ?'''
? ?寫入行
? ?'''

? ?with open(path, 'a', encoding='gb18030', newline='') as f:
? ? ? ?f_csv = csv.DictWriter(f, headers)
? ? ? ?# 如果寫入數據為字典,則寫入一行,否則寫入多行
? ? ? ?if type(rows) == type({}):
? ? ? ? ? ?f_csv.writerow(rows)
? ? ? ?else:
? ? ? ? ? ?f_csv.writerows(rows)

添加寫txt文件函數:

def write_txt_file(path, txt):
? ?'''
? ?寫入txt文本
? ?'''

? ?with open(path, 'a', encoding='gb18030', newline='') as f:
? ? ? ?f.write(txt)

我們最重要對職位描述的內容進行詞頻統計,一些標點符號等會影響統計,使用正則表達式將其剔除:

# 對數據進行清洗,將標點符號等對詞頻統計造成影響的因素剔除
pattern = re.compile(r'[一-龥]+')
filterdata = re.findall(pattern, job_detail.get('requirement'))
write_txt_file(txt_filename, ''.join(filterdata))

至此,職位詳細信息的獲取及保存的工作已經完成,來看一下此時的main函數:

def main(city, keyword, region, pages):
? ?'''
? ?主函數
? ?'''

? ?csv_filename = 'zl_' + city + '_' + keyword + '.csv'
? ?txt_filename = 'zl_' + city + '_' + keyword + '.txt'
? ?headers = ['job', 'years', 'education', 'salary', 'company', 'scale', 'job_url']
? ?write_csv_headers(csv_filename, headers)
? ?for i in range(pages):
? ? ? ?'''
? ? ? ?獲取該頁中所有職位信息,寫入csv文件
? ? ? ?'''

? ? ? ?job_dict = {}
? ? ? ?html = get_one_page(city, keyword, region, i)
? ? ? ?items = parse_one_page(html)
? ? ? ?for item in items:
? ? ? ? ? ?html = get_detail_page(item.get('job_url'))
? ? ? ? ? ?job_detail = get_job_detail(html)

? ? ? ? ? ?job_dict['job'] = item.get('job')
? ? ? ? ? ?job_dict['years'] = job_detail.get('years')
? ? ? ? ? ?job_dict['education'] = job_detail.get('education')
? ? ? ? ? ?job_dict['salary'] = item.get('salary')
? ? ? ? ? ?job_dict['company'] = item.get('company')
? ? ? ? ? ?job_dict['scale'] = job_detail.get('scale')
? ? ? ? ? ?job_dict['job_url'] = item.get('job_url')

? ? ? ? ? ?# 對數據進行清洗,將標點符號等對詞頻統計造成影響的因素剔除
? ? ? ? ? ?pattern = re.compile(r'[一-龥]+')
? ? ? ? ? ?filterdata = re.findall(pattern, job_detail.get('requirement'))
? ? ? ? ? ?write_txt_file(txt_filename, ''.join(filterdata))
? ? ? ? ? ?write_csv_rows(csv_filename, headers, job_dict)

4、數據分析

本節內容為此版本的重點。

4.1 工資統計

我們對各個階段工資的占比進行統計,分析該行業的薪資分布水平。前面我們已經把數據保存到csv文件里了,接下來要讀取salary列:

def read_csv_column(path, column):
? ?'''
? ?讀取一列
? ?'''

? ?with open(path, 'r', encoding='gb18030', newline='') as f:
? ? ? ?reader = csv.reader(f)
? ? ? ?return [row[column] for row in reader]

# main函數里添加
print(read_csv_column(csv_filename, 3))

#下面為打印結果
['salary', '7000', '5000', '25000', '12500', '25000', '20000', '32500', '20000', '15000', '9000', '5000', '5000', '12500', '24000', '15000', '18000', '25000', '20000', '0', '20000', '12500', '17500', '17500', '20000', '11500', '25000', '12500', '17500', '25000', '22500', '22500', '25000', '17500', '7000', '25000', '3000', '22500', '15000', '25000', '20000', '22500', '15000', '15000', '25000', '17500', '22500', '10500', '20000', '17500', '22500', '17500', '25000', '20000', '11500', '11250', '12500', '14000', '12500', '17500', '15000']

從結果可以看出,除了第一項,其他的都為平均工資,但是此時的工資為字符串,為了方便統計,我們將其轉換成整形:

salaries = []
sal = read_csv_column(csv_filename, 3)
? ?# 撇除第一項,并轉換成整形,生成新的列表
? ?for i in range(len(sal) - 1):
? ? ? ?# 工資為'0'的表示招聘上寫的是'面議',不做統計
? ? ? ?if not sal[i] == '0':
? ? ? ? ? ?salaries.append(int(sal[i + 1]))
? ?print(salaries)

# 下面為打印結果
[7000, 5000, 25000, 12500, 25000, 20000, 32500, 20000, 15000, 9000, 5000, 5000, 12500, 24000, 15000, 18000, 25000, 20000, 0, 20000, 12500, 20000, 11500, 17500, 25000, 12500, 17500, 25000, 25000, 22500, 22500, 17500, 17500, 7000, 25000, 3000, 22500, 15000, 25000, 20000, 22500, 15000, 22500, 10500, 20000, 15000, 17500, 17500, 25000, 17500, 22500, 25000, 12500, 20000, 11250, 11500, 14000, 12500, 15000, 17500]

我們用直方圖進行展示:

plt.hist(salaries, bins=10 ,)
plt.show()

生成效果圖如下:

從圖中可以看出工資分布的情況,這樣在你找工作時可以做一個參考。

4.2 職位描述詞頻統計

對職位描述詞頻統計的意義是可以了解該職位對技能的基本要求,如果正在找工作,可以估計一下自己的要求是否符合該職位;如果想要一年后換工作,那么也可以提前做好準備,迎接新的挑戰。

詞頻統計用到了 jieba、numpy、pandas、scipy庫。如果電腦上沒有這兩個庫,執行安裝指令:

  • pip install jieba

  • pip install pandas

  • pip install numpy

  • pip install scipy

4.2.1 讀取txt文件

前面已經將職位描述保存到txt文件里了,現在我們將其讀出:

def read_txt_file(path):
? ?'''
? ?讀取txt文本
? ?'''

? ?with open(path, 'r', encoding='gb18030', newline='') as f:
? ? ? ?return f.read()

簡單測試一下:

import jieba
import pandas as pd

content = read_txt_file(txt_filename)
segment = jieba.lcut(content)
words_df=pd.DataFrame({'segment':segment})
print(words_df)

# 輸出結果如下:
? ? ?segment
0 ? ? ? ?崗位職責
1 ? ? ? ? ?參與
2 ? ? ? ? ?公司
3 ? ? ? ?軟件產品
4 ? ? ? ? ?后臺
5 ? ? ? ? ?研發
6 ? ? ? ? ? 和
7 ? ? ? ? ?維護
8 ? ? ? ? ?工作
9 ? ? ? ? ?參與
10 ? ? ? ?建筑物
11 ? ? ? ? 聯網
12 ? ? ? 數據分析
13 ? ? ? ? 算法
14 ? ? ? ? ?的
15 ? ? ? ? 設計
16 ? ? ? ? ?和
17 ? ? ? ? 開發
18 ? ? ? ? ?可
19 ? ? ? ? 獨立
20 ? ? ? ? 完成
21 ? ? ? ? 業務
22 ? ? ? ? 算法
23 ? ? ? ? 模塊
... ? ? ? ? ? ...

從結果可以看出:“崗位職責”、“參與”、“公司”、軟件產品“、”的“、”和“等單詞并沒有實際意義,所以我們要將他們從表中刪除。

4.2.2 stop word

下面引入一個概念:stop word, 在網站里面存在大量的常用詞比如:“在”、“里面”、“也”、“的”、“它”、“為”這些詞都是停止詞。這些詞因為使用頻率過高,幾乎每個網頁上都存在,所以搜索引擎開發人員都將這一類詞語全部忽略掉。如果我們的網站上存在大量這樣的詞語,那么相當于浪費了很多資源。

在百度搜索stpowords.txt進行下載,放到py文件同級目錄。接下來測試一下:

content = read_txt_file(txt_filename)
segment = jieba.lcut(content)
words_df=pd.DataFrame({'segment':segment})

stopwords=pd.read_csv("stopwords.txt",index_col=False,quoting=3,sep=" ",names=['stopword'],encoding='utf-8')
words_df=words_df[~words_df.segment.isin(stopwords.stopword)]

print(words_df)

# 以下為輸出結果
0 ? ? ? ?崗位職責
1 ? ? ? ? ?參與
2 ? ? ? ? ?公司
3 ? ? ? ?軟件產品
4 ? ? ? ? ?后臺
5 ? ? ? ? ?研發
7 ? ? ? ? ?維護
8 ? ? ? ? ?工作
9 ? ? ? ? ?參與
10 ? ? ? ?建筑物
11 ? ? ? ? 聯網
12 ? ? ? 數據分析
13 ? ? ? ? 算法
15 ? ? ? ? 設計
17 ? ? ? ? 開發
19 ? ? ? ? 獨立
21 ? ? ? ? 業務
22 ? ? ? ? 算法
23 ? ? ? ? 模塊
24 ? ? ? ? 開發
28 ? ? ? ? 產品
29 ? ? ? ? 目標
31 ? ? ? ? 改進
32 ? ? ? ? 創新
33 ? ? ? ? 任職
35 ? ? ? ? 熟練
38 ? ? ? ? 開發
39 ? ? ? ? 經驗
40 ? ? ? ? 優先
41 ? ? ? ? 熟悉
... ? ? ?...

從結果看出,那些常用的stop word比如:“的”、“和”、“可”等已經被剔除了,但是還有一些詞如“崗位職責”、“參與”等也沒有實際意義,如果對詞頻統計不產生影響,那么就無所謂,在后面統計時再決定是否對其剔除。

4.2.3 詞頻統計

重頭戲來了,詞頻統計使用numpy

import numpy

words_stat = words_df.groupby(by=['segment'])['segment'].agg({"計數":numpy.size})
? ?words_stat = words_stat.reset_index().sort_values(by=["計數"],ascending=False)
? ?print(words_stat)

# 以下是爬取全部“北京市海淀區Python工程師”職位的運行結果:
? ?segment ? 計數
362 ? ? ?開發 ?505
590 ? ? ?熟悉 ?409
701 ? ? ?經驗 ?281
325 ? ? ?工作 ?209
820 ? ? ?負責 ?171
741 ? ? ?能力 ?169
793 ? ? ?設計 ?161
82 ? ? ? 優先 ?160
409 ? ? ?技術 ?157
621 ? ? ?相關 ?145
322 ? ?崗位職責 ?127
683 ? ? ?系統 ?126
64 ? ? ? 產品 ?124
904 ? ? ?項目 ?123
671 ? ? ?算法 ?107
78 ? ? ? 任職 ?107
532 ? ? ?框架 ?107
591 ? ? ?熟練 ?104

可以看出,某些詞語還是影響了統計結果,我將以下stop word加入stopword.txt中:

開發、熟悉、熟練、精通、經驗、工作、負責、能力、有限、相關、崗位職責、任職、語言、平臺、參與、優先、技術、學習、產品、公司、熟練掌握、以上學歷

最后運行結果如下:

775 ? ? ?設計 ?136
667 ? ? ?系統 ?109
884 ? ? ?項目 ?105
578 ? ? ?熟練 ? 95
520 ? ? ?框架 ? 92
656 ? ? ?算法 ? 90
143 ? ? ?分析 ? 90
80 ? ? ? 優化 ? 77
471 ? ? 數據庫 ? 75
693 ? ? ?維護 ? 66
235 ? ? ?團隊 ? 65
72 ? ? ? 代碼 ? 61
478 ? ? ?文檔 ? 60
879 ? ? ?需求 ? 58
766 ? ? 計算機 ? 56
698 ? ? ?編程 ? 56
616 ? ? ?研發 ? 49
540 ? ? ?溝通 ? 49
527 ? ? ?模塊 ? 49
379 ? ? ?性能 ? 46
695 ? ? ?編寫 ? 45
475 ? ?數據結構 ? 44

這樣基本上就是對技能的一些要求了,你也可以根據自己的需求再去修改stopword.txt已達到更加完美的效果。

4.2.4 詞頻可視化:詞云

詞頻統計雖然出來了,可以看出排名,但是不完美,接下來我們將它可視化。使用到wordcloud庫,詳細介紹見 github ,使用pip install wordcloud進行安裝。

from scipy.misc import imread
from wordcloud import WordCloud, ImageColorGenerator

? ?# 設置詞云屬性
? ?color_mask = imread('background.jfif')
? ?wordcloud = WordCloud(font_path="simhei.ttf", ? # 設置字體可以顯示中文
? ? ? ? ? ? ? ? ? ?background_color="white", ? ? ? # 背景顏色
? ? ? ? ? ? ? ? ? ?max_words=100, ? ? ? ? ? ? ? ? ?# 詞云顯示的最大詞數
? ? ? ? ? ? ? ? ? ?mask=color_mask, ? ? ? ? ? ? ? ?# 設置背景圖片
? ? ? ? ? ? ? ? ? ?max_font_size=100, ? ? ? ? ? ? ?# 字體最大值
? ? ? ? ? ? ? ? ? ?random_state=42,
? ? ? ? ? ? ? ? ? ?width=1000, height=860, margin=2,# 設置圖片默認的大小,但是如果使用背景圖片的話, ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 那么保存的圖片大小將會按照其大小保存,margin為詞語邊緣距離
? ? ? ? ? ? ? ? ? ?)


? ?# 生成詞云, 可以用generate輸入全部文本,也可以我們計算好詞頻后使用generate_from_frequencies函數
? ?word_frequence = {x[0]:x[1]for x in words_stat.head(100).values}
? ?word_frequence_dict = {}
? ?for key in word_frequence:
? ? ? ?word_frequence_dict[key] = word_frequence[key]

? ?wordcloud.generate_from_frequencies(word_frequence_dict)
? ?# 從背景圖片生成顏色值 ?
? ?image_colors = ImageColorGenerator(color_mask)
? ?# 重新上色
? ?wordcloud.recolor(color_func=image_colors)
? ?# 保存圖片
? ?wordcloud.to_file('output.png')
? ?plt.imshow(wordcloud)
? ?plt.axis("off")
? ?plt.show()

運行效果圖如下(左圖為原圖,右圖為生成的圖片):

至此,詞頻統計及其可視化完成。

5、其他想法

本例中進行了兩種數據分析,雖為進階版,但是還是有很多可以繼續發揮的地方:

  • 分析工作年限和工資的關系并展示、預測

  • 統計不同工作崗位的薪資差別

  • 利用多線程或多進程提升效率

有興趣的可以嘗試做一下。

完整代碼: #-*- coding: utf-8 -*- import re import csv import jieba import numpy import requests from tqdm import tqdm import pandas as pd from scipy.misc import imread from wordcloud import WordCloud, ImageColorGenerator from collections import Counter from bs4 import BeautifulSoup import matplotlib.pyplot as plt from requests.exceptions import RequestExceptiondef get_one_page(city, keyword, region, page):''' 獲取網頁html內容并返回 ''' paras = {'jl': city, # 搜索城市 'kw': keyword, # 搜索關鍵詞 'isadv': 0, # 是否打開更詳細搜索選項 'isfilter': 1, # 是否對結果過濾 'sg': 'd5259c62115f44e3bbb380dc88411919', 'p': page, # 頁數 're': region # region的縮寫,地區,2005代表海淀 }headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36', 'Host': 'sou.zhaopin.com', 'Referer': 'http://sou.zhaopin.com/jobs/searchresult.ashx?jl=530&kw=python%E5%B7%A5%E7%A8%8B%E5%B8%88&sm=0&p=1', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9' }url = 'https://sou.zhaopin.com/jobs/searchresult.ashx?' try:# 獲取網頁內容,返回html數據 response = requests.get(url, params=paras, headers=headers)print(response.url)# 通過狀態碼判斷是否獲取成功 if response.status_code == 200:return response.textreturn None except RequestException as e:return None def parse_one_page(html):''' 解析HTML代碼,提取有用信息并返回 ''' # 正則表達式進行解析 pattern = re.compile('<td class="zwmc".*?href="(.*?)" target="_blank">(.*?)</a>.*?' # 匹配職位詳情地址和職位名稱 '<td class="gsmc">.*? target="_blank">(.*?)</a>.*?' # 匹配公司名稱 '<td class="zwyx">(.*?)</td>', re.S) # 匹配月薪 # 匹配所有符合條件的內容 items = re.findall(pattern, html)for item in items:job_name = item[1]job_name = job_name.replace('<b>', '')job_name = job_name.replace('</b>', '')salary_avarage = 0 temp = item[3]if temp != '面議':idx = temp.find('-')# 求平均工資 salary_avarage = (int(temp[0:idx]) + int(temp[idx+1:]))//2 # html = get_detail_page(job_url) # print(html) yield {'job': job_name, 'job_url': item[0], 'company': item[2], 'salary': salary_avarage}def get_detail_page(url):''' 獲取職位詳情頁html內容并返回 ''' headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36', 'Host': 'jobs.zhaopin.com', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9' }try:# 獲取網頁內容,返回html數據 response = requests.get(url, headers=headers)# 通過狀態碼判斷是否獲取成功 if response.status_code == 200:return response.textreturn None except RequestException as e:return None def get_job_detail(html):requirement = '' # 使用BeautifulSoup進行數據篩選 soup = BeautifulSoup(html, 'html.parser')# 找到<ul class="terminal-ul clearfix">標簽 for ul in soup.find_all('ul', class_='terminal-ul clearfix'):# 該標簽共有8個子標簽,分別為: # 職位月薪|工作地點|發布日期|工作性質|工作經驗|最低學歷|招聘人數|職位類別 lis = ul.find_all('strong')# 工作經驗 years = lis[4].get_text()# 最低學歷 education = lis[5].get_text()# 篩選任職要求 for terminalpage in soup.find_all('div', class_='terminalpage-main clearfix'):for box in terminalpage.find_all('div', class_='tab-cont-box'):cont = box.find_all('div', class_='tab-inner-cont')[0]ps = cont.find_all('p')# "立即申請"按鈕也是個p標簽,將其排除 for i in range(len(ps) - 1):requirement += ps[i].get_text().replace("\n", "").strip() # 去掉換行符和空格 # 篩選公司規模,該標簽內有四個或五個<li>標簽,但是第一個就是公司規模 scale = soup.find(class_='terminal-ul clearfix terminal-company mt20').find_all('li')[0].strong.get_text()return {'years': years, 'education': education, 'requirement': requirement, 'scale': scale}def write_csv_file(path, headers, rows):''' 將表頭和行寫入csv文件 ''' # 加入encoding防止中文寫入報錯 # newline參數防止每寫入一行都多一個空行 with open(path, 'a', encoding='gb18030', newline='') as f:f_csv = csv.DictWriter(f, headers)f_csv.writeheader()f_csv.writerows(rows)def write_csv_headers(path, headers):''' 寫入表頭 ''' with open(path, 'a', encoding='gb18030', newline='') as f:f_csv = csv.DictWriter(f, headers)f_csv.writeheader()def write_csv_rows(path, headers, rows):''' 寫入行 ''' with open(path, 'a', encoding='gb18030', newline='') as f:f_csv = csv.DictWriter(f, headers)# 如果寫入數據為字典,則寫入一行,否則寫入多行 if type(rows) == type({}):f_csv.writerow(rows)else:f_csv.writerows(rows)def read_csv_column(path, column):''' 讀取一列 ''' with open(path, 'r', encoding='gb18030', newline='') as f:reader = csv.reader(f)return [row[column] for row in reader]def write_txt_file(path, txt):''' 寫入txt文本 ''' with open(path, 'a', encoding='gb18030', newline='') as f:f.write(txt)def read_txt_file(path):''' 讀取txt文本 ''' with open(path, 'r', encoding='gb18030', newline='') as f:return f.read()def main(city, keyword, region, pages):''' 主函數 ''' csv_filename = 'zl_' + city + '_' + keyword + '.csv' txt_filename = 'zl_' + city + '_' + keyword + '.txt' headers = ['job', 'years', 'education', 'salary', 'company', 'scale', 'job_url']salaries = []write_csv_headers(csv_filename, headers)for i in range(pages):''' 獲取該頁中所有職位信息,寫入csv文件 ''' job_dict = {}html = get_one_page(city, keyword, region, i)items = parse_one_page(html)for item in items:html = get_detail_page(item.get('job_url'))job_detail = get_job_detail(html)job_dict['job'] = item.get('job')job_dict['years'] = job_detail.get('years')job_dict['education'] = job_detail.get('education')job_dict['salary'] = item.get('salary')job_dict['company'] = item.get('company')job_dict['scale'] = job_detail.get('scale')job_dict['job_url'] = item.get('job_url')# 對數據進行清洗,將標點符號等對詞頻統計造成影響的因素剔除 pattern = re.compile(r'[一-龥]+')filterdata = re.findall(pattern, job_detail.get('requirement'))write_txt_file(txt_filename, ''.join(filterdata))write_csv_rows(csv_filename, headers, job_dict)sal = read_csv_column(csv_filename, 3)# 撇除第一項,并轉換成整形,生成新的列表 for i in range(len(sal) - 1):# 工資為'0'的表示招聘上寫的是'面議',不做統計 if not sal[i] == '0':salaries.append(int(sal[i + 1]))plt.hist(salaries, bins=10 ,)plt.show()content = read_txt_file(txt_filename)segment = jieba.lcut(content)words_df = pd.DataFrame({'segment':segment})stopwords = pd.read_csv("stopwords.txt",index_col=False,quoting=3,sep=" ",names=['stopword'],encoding='utf-8')words_df = words_df[~words_df.segment.isin(stopwords.stopword)]words_stat = words_df.groupby(by=['segment'])['segment'].agg({"計數":numpy.size})words_stat = words_stat.reset_index().sort_values(by=["計數"],ascending=False)# 設置詞云屬性 color_mask = imread('background.jfif')wordcloud = WordCloud(font_path="simhei.ttf", # 設置字體可以顯示中文 background_color="white", # 背景顏色 max_words=100, # 詞云顯示的最大詞數 mask=color_mask, # 設置背景圖片 max_font_size=100, # 字體最大值 random_state=42, width=1000, height=860, margin=2,# 設置圖片默認的大小,但是如果使用背景圖片的話, # 那么保存的圖片大小將會按照其大小保存,margin為詞語邊緣距離 )# 生成詞云, 可以用generate輸入全部文本,也可以我們計算好詞頻后使用generate_from_frequencies函數 word_frequence = {x[0]:x[1]for x in words_stat.head(100).values}word_frequence_dict = {}for key in word_frequence:word_frequence_dict[key] = word_frequence[key]wordcloud.generate_from_frequencies(word_frequence_dict)# 從背景圖片生成顏色值 image_colors = ImageColorGenerator(color_mask)# 重新上色 wordcloud.recolor(color_func=image_colors)# 保存圖片 wordcloud.to_file('output.png')plt.imshow(wordcloud)plt.axis("off")plt.show()# wordcloud = wordcloud.fit_words(word_frequence_list) # plt.imshow(wordcloud) # wordcloud.generate(words_stat) if __name__ == '__main__':main('北京', 'QT工程師', 2005, 10)


總結

以上是生活随笔為你收集整理的Python爬虫爬取智联招聘(进阶版)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

999电影免费在线观看 | 极品久久久 | 亚洲涩涩涩 | 国内精品视频在线播放 | 精品久久国产 | 精品国产一区二区三区久久久久久 | 99在线视频网站 | www看片网站 | 久久国产亚洲精品 | 久久综合狠狠综合久久激情 | 亚洲午夜久久久影院 | 99久久精品国产系列 | 中文字幕有码在线播放 | 久久露脸国产精品 | 丰满少妇高潮在线观看 | 国产小视频国产精品 | av在线网站大全 | 美国人与动物xxxx | 国产精品久久久久久久午夜片 | 一区二区三区免费播放 | 午夜精品一区二区三区在线视频 | 黄在线免费看 | 亚洲日本va午夜在线影院 | 黄色av一区二区 | 91精品少妇偷拍99 | 黄色国产大片 | 欧美成人高清 | 久久国产精品久久精品国产演员表 | 手机色站| 日韩国产精品久久 | 五月天综合激情网 | 天堂在线一区二区三区 | 免费中午字幕无吗 | 激情视频久久 | 在线观看黄网站 | 免费av在 | 99国产精品| 久久国产精品免费看 | 日韩免费精品 | 久久97超碰 | 三级av黄色| 黄色三级av | 97超视频 | 久久久久日本精品一区二区三区 | 在线国产一区二区 | 久久激情视频 久久 | 91九色porny在线| 色先锋av资源中文字幕 | 亚洲精品9 | 国产色视频一区二区三区qq号 | 久久在线免费 | 午夜精品麻豆 | 在线观看色网站 | 天天操天操 | 日韩高清激情 | 午夜手机电影 | 九色视频网 | 国产在线视频导航 | 久草在线91| 午夜精品导航 | 欧美视频国产视频 | 国产精品欧美久久久久三级 | 亚洲欧洲精品久久 | 亚洲在线视频观看 | 成人在线小视频 | 免费在线观看中文字幕 | 96av在线视频 | 视频一区视频二区在线观看 | 成人免费观看a | 欧美极品久久 | 夜夜躁日日躁 | 婷婷网址 | 久久精品国产精品亚洲 | 天天亚洲 | 天堂av最新网址 | 国偷自产中文字幕亚洲手机在线 | 欧美一级大片在线观看 | 亚洲欧洲日韩在线观看 | 中文字幕第 | 人人爱人人爽 | 欧美久久久久久久久 | 国产精品毛片一区二区在线 | 97爱| 久久成人精品视频 | av网站免费在线 | 天天躁日日躁狠狠 | 特级aaa毛片| 免费看黄色91 | 91视频午夜 | 丁香六月中文字幕 | 色偷偷网站视频 | 久草观看视频 | 久久精选视频 | 亚洲精品国产高清 | 狠狠的操| 91精品麻豆 | 中文字幕免费久久 | 九九热精品国产 | 成人久久久久久久久 | 国产精品久久久影视 | 成人性生交大片免费看中文网站 | 国产v视频| 天天色影院 | 欧美精品黑人性xxxx | 天天搞天天干天天色 | 国内精品久久影院 | 日韩免费看的电影 | 久久亚洲福利 | 婷婷色综 | 成年美女黄网站色大片免费看 | 人人dvd| 日韩在线免费不卡 | 亚洲国产激情 | 97在线观看免费高清完整版在线观看 | 韩国av电影在线观看 | 亚洲久草网 | 欧美大片aaa | 午夜精品麻豆 | 久久撸在线视频 | 国产一区二区在线影院 | 在线看av网址 | 手机av在线不卡 | 福利一区二区三区四区 | 2000xxx影视| 国产成人99av超碰超爽 | 麻豆影视网站 | 夜色资源站国产www在线视频 | 精品国产伦一区二区三区观看说明 | 草久久久 | 欧美天天综合 | 久保带人 | 成人在线视频免费 | 日韩精品免费在线视频 | 久久xx视频 | 97人人模人人爽人人喊网 | 蜜臀aⅴ国产精品久久久国产 | 亚洲国产免费看 | 久久经典国产 | 少妇超碰在线 | 亚洲在线激情 | 丁香婷婷综合激情五月色 | 日本中文字幕在线看 | 成人在线观看日韩 | 国产高清免费 | 日韩免费三级 | 久久成人精品电影 | 成人一级片免费看 | 日韩免费观看高清 | 中文字幕精品久久 | 五月婷婷丁香 | 亚洲一级片在线看 | 国产精品久久久久久久久免费 | 久久国产网站 | 久久综合久久综合久久综合 | 91天天操 | 免费看一及片 | 日韩精品视频免费看 | 国产精品美女久久久久久久网站 | 一区二区三区www | 亚洲精品自拍 | 日本久久中文 | 日韩精品视频一二三 | 欧美日韩一二三四区 | 五月婷婷激情网 | 四虎国产精品成人免费影视 | 久久性生活片 | 中文字幕在线视频一区二区三区 | 免费视频91 | 在线播放视频一区 | 亚洲免费在线观看视频 | 久久综合9988久久爱 | 久久超| 亚洲综合色丁香婷婷六月图片 | 久久精品久久99精品久久 | 国产精品99久久久久久有的能看 | 在线免费观看涩涩 | a视频在线| 天堂av观看 | 国产精品18久久久 | 日韩中文字幕网站 | 亚洲成人黄色网址 | 伊人黄色网 | 久草精品视频在线看网站免费 | 色综合咪咪久久网 | 国内精品久久久久 | 500部大龄熟乱视频 欧美日本三级 | 香蕉在线观看视频 | 成人天堂网 | 999电影免费在线观看 | 综合天堂av久久久久久久 | 91精品国产综合久久婷婷香蕉 | 日韩av黄 | 五月天久久久久久 | 999久久a精品合区久久久 | 91桃花视频| 人人爽人人看 | 在线观看深夜福利 | 欧美性久久久久久 | 99视频免费在线观看 | 黄色免费av | 久久久午夜精品福利内容 | 国产一级免费在线 | 在线视频久 | a级黄色片视频 | 亚洲国产精品推荐 | 夜夜躁狠狠燥 | av网站地址 | 久久成人麻豆午夜电影 | 国产一二区在线观看 | 91在线免费公开视频 | 欧美日韩xx | 在线观看国产区 | 久草在线视频精品 | 成人超碰在线 | 日韩久久精品一区二区三区 | 美腿丝袜一区二区三区 | 亚洲午夜精品福利 | 国产精品人人做人人爽人人添 | 久久久久区 | 精品在线一区二区 | 伊人天堂网 | 国产精品剧情在线亚洲 | 国产免费不卡av | 色婷婷电影 | 成人午夜精品福利免费 | 成人免费看片网址 | 五月婷婷在线播放 | 久久国产精品成人免费浪潮 | 91污污视频在线观看 | 91网免费观看 | 少妇视频一区 | 久久国产精品99久久久久久进口 | 日韩黄色一级电影 | av看片在线 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 久久成人综合视频 | 精品国产一二三 | 久草精品在线观看 | 亚洲va欧美va人人爽春色影视 | 色香蕉网 | 日韩国产欧美在线视频 | av片子在线观看 | 久久福利小视频 | 在线视频a| 欧美日韩在线免费观看 | 激情校园亚洲 | 成人黄色电影免费观看 | 成人aaa毛片 | 国产成人av电影在线观看 | 国产原创在线 | 国产九色在线播放九色 | 深夜免费网站 | 97爱| 99精品国产成人一区二区 | 国产精品一区二 | 99在线视频免费观看 | 在线免费av观看 | 五月综合网 | 最近免费观看的电影完整版 | 五月激情片 | 99久久婷婷国产 | 九色视频网址 | 97超级碰碰碰视频在线观看 | 国产日韩欧美中文 | 在线91色 | 99一区二区三区 | 国产成人免费在线观看 | www.777奇米 | 欧美人操人 | 一区二区久久 | 国产精品久久久久久超碰 | 欧美日韩高清国产 | 亚洲激情| 国产午夜三级一区二区三桃花影视 | 国产精品视频大全 | aaa毛片视频 | 久草电影免费在线观看 | 久久综合狠狠综合久久激情 | 国产精品资源在线观看 | 成人黄色在线视频 | 一区二区欧美日韩 | 中文av在线天堂 | 婷婷精品国产一区二区三区日韩 | 国产91精品久久久久 | 91精品视频免费看 | 四虎影视成人永久免费观看亚洲欧美 | www.久久精品视频 | 在线视频国产区 | 精品国产亚洲在线 | 国内精品久久久久久久影视简单 | 亚洲欧美综合精品久久成人 | 国产亚洲精品久久久久久网站 | 日本电影黄色 | 97在线视频免费观看 | 99爱在线 | 国产91精品高清一区二区三区 | 日韩一区二区三区免费视频 | 国产在线精品视频 | 亚洲a网 | 日韩视频在线不卡 | 国产99在线免费 | 在线免费观看成人 | 亚洲成人精品av | 人交video另类hd | 四虎在线观看精品视频 | 91麻豆国产福利在线观看 | www.狠狠插.com| 国产精品1区2区3区在线观看 | 狠狠操天天操 | 亚洲美女精品区人人人人 | 日韩一区二区三区免费电影 | 日韩在线免费电影 | 麻豆国产视频下载 | 激情电影影院 | 美女视频是黄的免费观看 | 一级成人免费 | 久草在线久草在线2 | 看片黄网站| 亚洲手机av | 国内免费的中文字幕 | 美女黄视频免费 | 亚洲精选久久 | 国产一区二区在线免费播放 | 日韩网站视频 | av超碰在线 | 免费在线国产 | 亚洲国产成人在线 | 中文字幕一区二区三区视频 | 九九九视频精品 | 久久久久久久免费看 | 国产色久 | 亚洲高清视频一区二区三区 | 精品成人免费 | 精品uu| 黄色毛片视频免费观看中文 | 国产91对白在线 | 日韩精品aaa | 亚洲国产精品影院 | 少妇av网| 黄色电影在线免费观看 | 激情片av | 狠狠躁夜夜a产精品视频 | 91网址在线看 | 成人免费看片98欧美 | 免费看一级特黄a大片 | 99电影456麻豆 | a久久久久久 | 欧美午夜激情网 | 亚洲乱码在线 | 香蕉影视在线观看 | 欧美日韩一区二区三区视频 | 国产精品国产三级国产不产一地 | 伊人影院在线观看 | 天天艹天天操 | 国内一区二区视频 | 亚洲一区免费在线 | 久久久久亚洲精品中文字幕 | 国产在线精品二区 | 欧美一区日韩精品 | 国产精品亚洲人在线观看 | 精品国产乱码一区二区三区在线 | 亚洲精品免费在线观看视频 | 深爱激情综合网 | 中国一级片在线观看 | 91试看| 久久精品国产成人 | 波多野结衣电影一区 | 国产精品久久人 | 欧美性受极品xxxx喷水 | 国产精品美女免费看 | 国产剧情一区二区 | 免费精品视频在线 | 91麻豆精品国产91久久久久久 | 亚洲va欧美va国产va黑人 | 国产精品video爽爽爽爽 | 国产中文字幕网 | 日韩欧美不卡 | 午夜在线免费观看 | 青青河边草免费观看 | 国产精品自产拍在线观看 | 亚洲精品久久视频 | 色姑娘综合网 | 日韩小视频网站 | 国产精品久久久久久久久久ktv | 中文字幕资源网 国产 | 免费黄色在线网站 | a视频在线看| 天天碰天天操视频 | 国产手机在线精品 | 亚洲精品午夜久久久久久久久久久 | 精品久久久久久久久久久久 | 国产小视频国产精品 | 在线观看第一页 | 午夜精品一区二区三区在线视频 | 国产aa精品 | 一区二区三区视频在线 | 日韩欧美v | 美女黄濒 | 欧美色综合天天久久综合精品 | 久久手机看片 | 91毛片在线观看 | 国产精品久久久久久久久久久免费看 | 免费午夜视频在线观看 | 亚洲一区二区精品 | 天堂在线一区二区三区 | av高清在线 | 国内精品免费 | 国产成人精品免费在线观看 | 久久永久免费视频 | 国产小视频免费观看 | 国产精品激情在线观看 | 亚洲精品免费在线观看 | 99久久影视 | 99精品成人 | 国产黄网在线 | 国产一二三精品 | 日本少妇高清做爰视频 | 不卡视频在线看 | 激情深爱五月 | 国产在线精品福利 | 亚洲精品视频在线观看视频 | 激情五月六月婷婷 | 97热视频| 999成人| 欧美俄罗斯性视频 | 亚洲一区二区视频 | 97成人精品区在线播放 | 少妇自拍av | 午夜骚影 | 天天天干夜夜夜操 | 亚洲国产精品电影 | 99色人| www.黄色网.com | aaaaaa毛片 | 久久www免费人成看片高清 | 国产一级片播放 | 国产一区二区在线免费视频 | 日韩在线观看a | 一区二区中文字幕在线播放 | 黄色av一级片 | 免费福利视频导航 | 日韩午夜三级 | 看片网站黄 | 国产视频精品网 | 久久免费一 | 欧美男男激情videos | 五月婷婷伊人网 | 国产精品国产三级国产不产一地 | 成人黄色中文字幕 | 色婷婷影视 | 久久激情五月激情 | 国产精品黑丝在线观看 | 午夜精品麻豆 | 亚洲视频网站在线观看 | 天天看天天干天天操 | 久久视频免费在线 | 尤物97国产精品久久精品国产 | 99久久99热这里只有精品 | 99久久精品国产毛片 | 日韩av免费一区二区 | 亚洲高清久久久 | 波多野结衣视频一区二区三区 | 国产精品日韩久久久久 | 18女毛片| av一级一片 | 人人艹人人| 69精品人人人人 | 国产亚洲视频系列 | 香蕉97视频观看在线观看 | 99久久婷婷国产综合亚洲 | 日韩中文字幕电影 | 91九色老| 亚州国产精品 | 最近的中文字幕大全免费版 | 精品福利视频在线观看 | 精品久久久久久国产 | 色天天久久| 亚洲天堂精品 | av片在线观看 | 亚洲精品ww | 免费在线国产黄色 | 黄色的网站在线 | 日韩高清 一区 | 国产精品久久久久久模特 | 国内精品免费久久影院 | 久久国产手机看片 | 99re国产 | 亚洲伦理一区二区 | 日本成人免费在线观看 | 日韩视频区 | www.狠狠插.com | 最新久久久 | 久草视频免费在线播放 | 爱情影院aqdy鲁丝片二区 | 黄色一级片视频 | 中文字幕在线观看91 | 色在线中文字幕 | 国产r级在线观看 | 激情自拍av | 国产精品久久久久久久久久不蜜月 | 色姑娘综合网 | 91精品久久久久久久久久久久久 | 男女拍拍免费视频 | 欧美一级免费 | 久久在线观看 | 成人毛片在线视频 | 97涩涩视频 | 国产一区二区高清不卡 | 天堂网av在线 | 婷婷综合伊人 | 丁香六月综合网 | 国产一区在线精品 | 91在线播放视频 | 五月婷社区 | 欧美色图视频一区 | 黄色精品视频 | 美女网站在线观看 | 99av在线视频 | 在线观看中文字幕网站 | 91福利国产在线观看 | 精品亚洲免a| 欧美成人理伦片 | 国产在线精品播放 | 97综合在线| 日韩簧片在线观看 | 777奇米四色 | 成人免费在线观看电影 | 丁香五月亚洲综合在线 | 日本精品视频网站 | 国产成人在线观看 | 黄色小说免费在线观看 | 尤物97国产精品久久精品国产 | 国产精品美女999 | 特级西西人体444是什么意思 | av青草| 九草视频在线观看 | 国产精品一区二区三区四区在线观看 | 青青色影院 | 狠狠操狠狠操 | 久久久91精品国产 | 日日干网址 | 国产精品免费久久久 | 日韩视频中文字幕在线观看 | 国产成人精品一区二区三区在线观看 | 国产剧在线观看片 | 色狠狠综合天天综合综合 | 99久久精品日本一区二区免费 | 久久只精品99品免费久23小说 | 久久99热精品这里久久精品 | 在线视频观看国产 | 成人免费xxx在线观看 | 成人av影视在线 | 国产亚洲精品久久网站 | 香蕉网站在线观看 | 欧美久久久久久 | 五月婷婷丁香在线观看 | 日韩免费电影网 | 国产理伦在线 | 久久国产精品视频观看 | 91在线日韩| 在线午夜| 亚洲日本韩国一区二区 | 99人久久精品视频最新地址 | 日本xxxx.com | 四虎影视精品 | www久久九| 欧美性性网 | 日韩a级免费视频 | 黄色软件网站在线观看 | 在线观看免费一区 | 操操爽| 国产午夜精品在线 | 久久精品老司机 | 西西4444www大胆无视频 | 精品国产乱码久久久久 | 久久66热这里只有精品 | 久久 在线 | 丝袜av网站 | 黄色三级网站在线观看 | 亚洲一区二区视频在线 | 波多野结衣在线播放一区 | 久久久久久免费毛片精品 | 中文字幕资源网在线观看 | 1000部18岁以下禁看视频 | 国产精品一区二区美女视频免费看 | 国产玖玖精品视频 | 日本久久久久 | 亚洲美女在线一区 | 日韩视频在线观看视频 | 婷婷在线资源 | 国产精品美| 99久久99视频只有精品 | 人人射人人射 | 成人一区二区三区在线观看 | 最近中文字幕免费大全 | 久99精品| www免费看片com | 午夜av大片 | 免费观看福利视频 | 人人看黄色 | 黄网站色成年免费观看 | 黄色精品一区二区 | 激情婷婷久久 | 在线免费中文字幕 | 久久国产精品久久久 | 久久精品站 | 天天射天天色天天干 | 中文字幕在线观看免费高清完整版 | 国产精品爽爽久久久久久蜜臀 | 91av大全 | 久久亚洲私人国产精品va | 久久免费观看少妇a级毛片 久久久久成人免费 | 国产精品免费观看国产网曝瓜 | 在线a人v观看视频 | www色网站| 日韩免费一级a毛片在线播放一级 | 日韩精品一区二区三区视频播放 | 国产 字幕 制服 中文 在线 | 人人干人人草 | 在线三级av | 国产亚洲成人网 | 国产亚洲精品成人av久久影院 | 伊人热 | 国产一及片 | 亚洲区二区 | 日韩在线观看的 | 亚洲va综合va国产va中文 | 久久精品日产第一区二区三区乱码 | 亚洲欧洲日韩在线观看 | 欧洲精品码一区二区三区免费看 | 久久夜色精品国产欧美一区麻豆 | 亚洲电影影音先锋 | 91在线蜜桃臀 | 国产日韩在线视频 | 狠狠色丁香婷婷综合 | 久久国产成人午夜av影院潦草 | 六月丁香色婷婷 | 超碰在线99 | 狠狠艹夜夜干 | 99国产一区二区三精品乱码 | 中文字幕一区二区三区乱码在线 | 国产流白浆高潮在线观看 | 午夜123 | 97视频免费观看 | 91丨九色丨勾搭 | 久章草在线观看 | 中文字幕在线观看视频一区二区三区 | 91超碰免费在线 | 成人av资源 | 午夜国产影院 | 国产一级特黄电影 | 精品亚洲成a人在线观看 | av大全在线观看 | 91av中文| 性色av免费在线观看 | 一区在线免费观看 | 天天色天天色天天色 | 国产精品综合在线观看 | 国产视频九色蝌蚪 | 97视频人人免费看 | 日韩在线不卡 | 日韩精品亚洲专区在线观看 | 国产手机视频在线 | 午夜精品久久久久久久久久久 | 久久久视频在线 | 国产精品 国内视频 | 日日干天天 | 亚洲人毛片 | 久久男人影院 | 九色在线视频 | www色片| 亚洲精品在线一区二区 | 日韩亚洲在线视频 | 我要色综合天天 | 国产视频一区二区在线观看 | 国产 一区二区三区 在线 | 国产成人精品久久久 | 国产精品久久久久久999 | 国产精品一区二区麻豆 | 中文字幕在线观看完整 | 中文免费在线观看 | 91在线免费观看国产 | 国产又粗又猛又爽又黄的视频免费 | 东方av在线免费观看 | 麻豆影视网 | 免费人成网ww44kk44 | 亚洲第一中文字幕 | 久久免费一级片 | 欧美日韩国产一区二区三区 | 超碰国产97 | 欧美黑人性猛交 | 午夜视频在线瓜伦 | 91av视频 | 成年人在线电影 | 4438全国亚洲精品观看视频 | 免费在线黄色av | av线上看| 伊人开心激情 | www.天天干 | 日韩三区在线 | 成人毛片久久 | 婷婷丁香在线视频 | 国产高清精品在线观看 | 久久久久久免费视频 | 深夜男人影院 | 午夜性生活片 | 国产直播av | av电影亚洲 | 色视频网站免费观看 | 欧美精品在线视频 | 国产精品久久久久久久久免费看 | 亚洲精品66 | 日韩免费看的电影 | 九九九免费视频 | www.成人精品 | 亚洲九九九在线观看 | 天天操天天操天天操天天 | 久久久久欧美精品 | 久久这里只有精品9 | 日韩黄色av网站 | 亚洲成a人片77777潘金莲 | 97爱| 天天干天天干天天干天天干天天干天天干 | 五月婷婷中文网 | 99视频精品 | 2021av在线| 欧美成人黄色 | 久久国产精品一二三区 | 日韩在线免费 | 中文字幕专区高清在线观看 | 国产一线二线三线性视频 | 久久免费黄色 | 久久久受www免费人成 | 天堂av在线中文在线 | 97超碰影视| 九九99| 国产精品高清免费在线观看 | 亚洲免费永久精品国产 | 免费看91的网站 | 免费网址在线播放 | 午夜视频在线观看欧美 | 99久视频 | 国产高h视频| 91视频久久久 | 欧美成人精品xxx | 色欧美视频| 欧美性另类 | 国产精品嫩草影视久久久 | 日韩av电影手机在线观看 | 国产无遮挡又黄又爽在线观看 | 日本精品视频在线播放 | 777视频在线观看 | 欧美成人精品三级在线观看播放 | 久久免费的精品国产v∧ | 99r在线 | 日日夜夜免费精品 | 在线观看免费版高清版 | 91九色蝌蚪视频在线 | 久草在线视频首页 | 国产三级香港三韩国三级 | 精品自拍网 | 特级毛片网站 | 国产69精品久久99不卡的观看体验 | www狠狠操 | 久久久国产精品视频 | 日韩一二三 | 97成人在线观看视频 | 日韩av电影中文字幕在线观看 | 在线不卡中文字幕播放 | 久久艹影院| 九色最新网址 | 国产99区 | 欧美aaa视频 | 81精品国产乱码久久久久久 | 日本精品视频在线观看 | 亚洲最大激情中文字幕 | 国产精华国产精品 | 丁香六月天 | 久久久毛片 | 久久免费看片 | 九九视频网站 | av黄色在线播放 | 免费69视频| 麻豆一精品传二传媒短视频 | 欧美日韩一区二区三区在线观看视频 | 亚洲激情电影在线 | 久久中文字幕在线视频 | 亚洲精品18p | 五月婷婷毛片 | 日韩视频一区二区 | 日韩影视精品 | 欧美激情精品久久久 | 97视频人人 | 久久国产露脸精品国产 | 99热国产在线观看 | 精品欧美在线视频 | 成年人免费av | 日韩av有码在线 | 人人看人人 | 西西444www大胆高清图片 | 亚洲一区二区三区四区在线视频 | 精品91久久久久 | 亚洲一级影院 | 日韩伦理片hd | 欧美日韩国产精品一区 | 亚洲好视频| 国产精品欧美日韩在线观看 | 一级片视频免费观看 | 精品欧美一区二区精品久久 | 久久久久久毛片精品免费不卡 | 日日成人网 | 在线观看中文字幕视频 | 国产成人精品一区二 | 国产在线播放一区 | 在线观看的黄色 | 日韩精品2区 | 色香网 | 中文字幕第一页在线播放 | 日韩美女久久 | 黄色成人av | 中文字幕网址 | av超碰在线观看 | 国产精品一区二区在线播放 | 涩涩网站在线播放 | 久久av在线播放 | 国产精品免费观看视频 | 韩国在线一区 | 91最新在线视频 | 亚洲精品色视频 | 2021国产在线视频 | 激情av网址 | 波多野结衣在线播放一区 | 在线观看免费福利 | 日韩资源在线观看 | 999久久精品| 人人澡超碰碰 | 久草在线视频资源 | 91福利在线导航 | 国产高清中文字幕 | 国产精品第三页 | 操操操影院 | 久久精品视频免费观看 | 欧美日韩国产一二三区 | 日韩欧美视频 | 国产69精品久久99不卡的观看体验 | 97av色| 天天操天天干天天爽 | 天天玩天天干天天操 | 狠狠操.com| 久久久久久久久久久久国产精品 | 久久久久久国产一区二区三区 | 亚洲国产精品一区二区久久,亚洲午夜 | www视频免费在线观看 | 婷婷视频 | 国产中文字幕三区 | 国内精品久久久久影院优 | 99 色| 中文成人字幕 | 人人看人人做人人澡 | 国产精品国产毛片 | 日韩亚洲在线 | wwwav视频| 亚洲精品一区二区18漫画 | www.香蕉视频 | 日本高清久久久 | 久久久亚洲影院 | 亚洲婷婷伊人 | 欧美一级小视频 | 91丨porny丨九色 | 国产一区二区在线观看视频 | 91精品一区在线观看 | 免费看污黄网站 | 久久精品视频在线免费观看 | 国产视频 久久久 | 久久电影中文字幕视频 | 久久精品com | 在线电影 你懂得 | 国产又黄又爽又猛视频日本 | 成年人黄色免费网站 | 91在线国产观看 | 精品福利av | 亚洲黄色激情小说 | 99热手机在线 | 久久免费av电影 | 天天久久综合 | 国产 一区二区三区 在线 | 中文亚洲欧美日韩 | 91在线最新 | 99亚洲国产 | 91桃色在线播放 | 日韩91av| 五月综合色 | 亚洲精品高清视频在线观看 | 韩日在线一区 | 日韩一区二区在线免费观看 | 欧美日韩免费一区 | 免费黄色a网站 | 西西www4444大胆在线 | 91精品免费看 | zzijzzij亚洲成熟少妇 | 欧美日韩国产在线精品 | 美女视频黄免费网站 | 99国产一区二区三精品乱码 | 四虎影视国产精品免费久久 | 天天操操操操操操 | 午夜三级在线 | 一二区电影 | www.成人久久 | www.久久99| 99re6热在线精品视频 | 久草在线视频中文 | 在线观看黄色 | 久久精品香蕉视频 | 精品欧美乱码久久久久久 | 日韩网站在线 | 91香蕉视频好色先生 | www黄色软件 | 高清视频一区二区三区 | 91视视频在线直接观看在线看网页在线看 | 777xxx欧美| 日韩在线国产精品 | 久久综合久久久久88 | 国内三级在线观看 | 日本成人免费在线观看 | 国产明星视频三级a三级点| 亚洲国产黄色片 | 亚洲国产精品视频在线观看 | 成人在线小视频 | 国产综合婷婷 | 国内揄拍国产精品 | 91精品在线播放 | 五月天久久久 | 精品国产欧美 | 亚洲精品视频免费 | 黄色片毛片 | 免费电影播放 | 涩涩色亚洲一区 | 中文字幕人成乱码在线观看 | 久久国产影视 | 五月天综合网站 | 97超碰在线久草超碰在线观看 | 日韩在线观看你懂的 | 久二影院 | 五月婷婷av | 国产精品欧美激情在线观看 | 色小说av | 日韩欧美精品一区二区 | 国产精品乱码久久 | 久久综合九色综合97婷婷女人 | 97操操操 | 午夜精品一区二区三区在线视频 | 国产九色在线播放九色 | 亚洲精品国| 中文字幕久久精品亚洲乱码 | 日韩中文字幕免费看 | 超碰成人网| 久久你懂得 | 一区二区视频免费在线观看 | 久久免费视频一区 | 国产精品女同一区二区三区久久夜 | 日韩精品久久久免费观看夜色 | 久久免费的视频 | 91九色综合 | 久久精选视频 | 91热| 国产一级二级在线观看 | 黄色毛片观看 | 中文字幕久久亚洲 | 麻豆久久精品 | 99re8这里有精品热视频免费 | av中文字幕在线电影 | 精品国产伦一区二区三区观看说明 | 欧美婷婷综合 | 91丨九色丨蝌蚪丨对白 | 91九色视频在线 | 精品国产自 | 国产精品久久99精品毛片三a | 奇米7777狠狠狠琪琪视频 | 搡bbbb搡bbb视频 | 久久久精品国产一区二区电影四季 | 中文字幕在线观看的网站 | 超碰.com | 久久久久久久久久久网站 | 热99在线视频 | 中文av网站 | 精品免费一区二区三区 | 免费高清在线视频一区· | 在线视频99 | 欧美性护士| 欧美91精品| 亚洲在线免费视频 | 狠狠操在线 | 激情喷水| 婷婷久久网| 精品一区二区三区久久 | 色多多污污在线观看 | 久久九九国产精品 | 又污又黄网站 |