亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
使用Selenium簡單收集知乎的話題數據
作者:鄧旭東 發布時間:[ 2017/3/21 11:00:18 ] 推薦標簽:功能測試 Selenium Python

  當你在知乎上搜索一個話題,如王寶強的時候,搜索結果頁面的底部有個“更多”按鈕,如下圖

  遇到這個坑爹了,因為你發現點擊“更多”按鈕后,網址部分沒有變化,但頁面卻加載了新的數據。怎么辦????
  沒法按照之前的 有規律的網址&page=number ,通過for循環依次遍歷網頁。
  在這里我不講抓包,分析請求包。咱們用生硬的方法,破解這問題。在這里我使用了selenium庫,并且要安裝一個火狐瀏覽器(firefox36)。輕松破解該問題。
  selenium教程,建議大家網上買《selenium 2自動化測試實戰-基于python語言》 這本書閱讀相關知識。當然也可以根據本代碼,在網上查相關selenium的知識。
import re
import csv
import time
import urllib.parse as parse
from selenium import webdriver
from bs4 import BeautifulSoup
# keyword話題名 ,filename保存數據的文件名,page_num收集多少頁
def topic_title_spider(keyword='王寶強', filename = 'wangbaoqiang', page_num = 10):
start = time.time()
# 建立一個收集數據的csv文件
csvFile = open(r'E:\%s.csv'% filename, 'a+', newline='')
writer = csv.writer(csvFile)
writer.writerow(('title', 'review_num'))
# 將關鍵詞轉換為十六進制格式,填入到鏈接中
kw = parse.quote(keyword)
driver = webdriver.Firefox()
driver.get('https://www.zhihu.com/search?type=content&q=%s' % kw)
# 正則表達式,用來匹配標題,評論數
reg_title = re.compile(r'<a class="js-title-link" href=.*?" target="_blank">(.*?)</a>')
reg_li = re.compile(r'item clearfix.*?')
reg_num = re.compile(r'<a class="zm-item-vote-count hidden-expanded js-expand js-vote-count" data-bind-votecount="">(.*?)</a>')
# 先循環點擊頁面底部“更多”,加載盡可能多的頁面數據
for i in range(1, page_num, 1):
driver.find_element_by_link_text("更多").click()
duration = time.time()-start
print('%s小爬蟲 已經跑到 第%d頁 了,運行時間%.2f秒,好累啊'%(keyword, i, duration))
time.sleep(5)
soup = BeautifulSoup(driver.page_source, 'lxml')
li_s = soup.find_all('li', {'class': reg_li})
for li in li_s:
li = str(li)
try:
title = re.findall(reg_title, li)[0]
title = title.replace('<em>', '')
title = title.replace('</em>', '')
review_num = re.findall(reg_num, li)[0]
except:
continue
writer.writerow((title, review_num))
print(title, review_num)
csvFile.close()
driver.quit()
  代碼在我這里運行成功,不過在你那里需要注意拷貝代碼后,要調整代碼,因為有的代碼一行太長了,被知乎調整到第二行了,這樣可能會出錯。
  該方法缺點是運行速度慢,不過對于小數據需求的小白們來說,還是可以接受的。

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国产欧美日韩在线一区二区不卡 | 久久综合狠狠综合久久97色 | 成人影视 | 一级黄色片免费的 | 久久久久夜色精品波多野结衣 | 亚洲欧美中文日韩在线 | 国内精品免费久久久久妲己 | 做性视频 | 你懂得在线播放 | 又黄又爽又色的性视频 | 成人9久久国产精品品 | 午夜dj免费高清在线观看影院 | 黄色大片网站在线观看 | 亚洲欧美卡通成人制服动漫 | 日本一区二区三区在线 观看网站 | 91香蕉视频污在线观看 | 免费观看又黄又刺激的视频网站 | 欧美一区二区三区在线视频 | 五月天婷婷综合 | 丁香六月激情综合 | 亚洲第一在线播放 | 清风阁我爱干视频 | 欧美黄色免费网站 | 视频一区二区中文字幕 | 天天怕夜夜怕狠狠怕 | 国产偷久久 | 亚洲国产精 | 精品国产第一页 | 久久亚洲私人国产精品 | 羞羞视频免费观看 | 成人91视频| 成年人黄视频在线观看 | 日韩在线视频观看 | 在线国产网站 | 午夜剧场福利 | 久久4k岛国高清一区二区 | 亚洲an日韩专区在线 | 亚洲成a人片在线v观看 | 天天摸日日操 | 日韩在线观看高清 | 亚洲国产成人久久综合一区 |