嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片

selenium處理網頁下拉加載數據爬取并存入excel

2019-7-17    seo達人

如果您想訂閱本博客內容,每天自動發到您的郵箱中, 請點這里

前言
之前有個同學詢問我是否能夠爬取知乎的全部回答,當初只會Scrapy無法實現下拉的數據全部加載。后來在意外中接觸了selenium的自動化測試,看出了selenium的模擬能力的強大,而昨天有個同學問我能否爬取中國工商銀行遠程銀行的精彩回答,我說可以試試。

思路
selenium模擬下拉直至底部
然后通過selenium獲取數據集合
通過pandas寫入excel
selenium模擬下拉直至底部
此處全靠一位大佬的博客點撥,實在不好意思的是,selenium就看了下常用的api,實在不懂如何判斷是否加載完畢,而該博客代碼的原理也好理解,通過不斷下拉判斷與上一次高度進行對比,知道前端頁面的滾動高度屬性就懂了,當然思想最重要。
見代碼:

#將滾動條移動到頁面的底部
all_window_height =  []  # 創建一個列表,用于記錄每一次拖動滾動條后頁面的最大高度
all_window_height.append(self.driver.execute_script("return document.body.scrollHeight;")) #當前頁面的最大高度加入列表
while True:
self.driver.execute_script("scroll(0,100000)") # 執行拖動滾動條操作
time.sleep(3)
check_height = self.driver.execute_script("return document.body.scrollHeight;")
if check_height == all_window_height[-1]:  #判斷拖動滾動條后的最大高度與上一次的最大高度的大小,相等表明到了最底部
print("我已下拉完畢")
break
else:
all_window_height.append(check_height) #如果不想等,將當前頁面最大高度加入列表。
print("我正在下拉")

然后通過selenium獲取數據集合
通過find_elements_by_css_selector方法獲取元素對象列表,然后通過遍歷列表獲取單個對象,通過對象的text屬性獲取數據。
代碼與"通過pandas寫入excel"代碼想結合。

通過pandas寫入excel
example.xlsx

批量將數據依次寫入excel,此處個人知道有兩種寫法,推薦后者。
寫法一:

problem = cls.driver.find_elements_by_css_selector("li h2.item-title a")
data = pd.read_excel('example.xlsx', sheet_name = 'Sheet1')
problemtext = []
for i in problem:
problemtext .append(i.text)
replytext = []
reply = cls.driver.find_elements_by_css_selector("div.item-right p")
for j in reply:
    replytext.append(j.text)
    data.loc[row,'答案'] = j.text
data['問題'] = problemtext
data['答案'] = replytext

DataFrame(data).to_excel('test.xlsx', sheet_name='Sheet1')

寫法二:

problem = cls.driver.find_elements_by_css_selector("li h2.item-title a")
data = pd.read_excel('example.xlsx', sheet_name = 'Sheet1')
row = 1
for i in problem:
    data.loc[row,'問題'] = i.text
    row += 1
row = 1
reply = cls.driver.find_elements_by_css_selector("div.item-right p")
for j in reply:
    data.loc[row,'答案'] = j.text
    row += 1

DataFrame(data).to_excel('test.xlsx', sheet_name='Sheet1')

完整代碼
import pandas as pd
from pandas import DataFrame
import unittest
import time
from selenium import webdriver
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.ui import WebDriverWait

class autoLogin(unittest.TestCase):

URL = 'http://zhidao.baidu.com/business/profile?id=87701'


@classmethod
def setUpClass(cls):
cls.driver = webdriver.Firefox()
cls.driver.implicitly_wait(20)
cls.driver.maximize_window()



def test_search_by_selenium(self):
self.driver.get(self.URL)
self.driver.title
time.sleep(1)
#將滾動條移動到頁面的底部
all_window_height =  []
all_window_height.append(self.driver.execute_script("return document.body.scrollHeight;"))
while True:
self.driver.execute_script("scroll(0,100000)") 
time.sleep(3)
check_height = self.driver.execute_script("return document.body.scrollHeight;")
if check_height == all_window_height[-1]:  
print("我已下拉完畢")
break
else:
all_window_height.append(check_height) 
print("我正在下拉")

@classmethod
def tearDownClass(cls):
html=cls.driver.page_source
problem = cls.driver.find_elements_by_css_selector("li h2.item-title a")
data = pd.read_excel('example.xlsx', sheet_name = 'Sheet1')
row = 1
for i in problem:
    data.loc[row,'問題'] = i.text
    row += 1
row = 1
reply = cls.driver.find_elements_by_css_selector("div.item-right p")
for j in reply:
    data.loc[row,'答案'] = j.text
    row += 1
    
DataFrame(data).to_excel('test.xlsx', sheet_name='Sheet1')

#保存成網頁
with open("index.html", "wb") as f:
f.write(html.encode())
f.close()
cls.driver.quit()

if __name__ == '__main__':
unittest.main(verbosity=2)

text.xlsx


總結
在使用Scrapy爬蟲時,可以通過selenium來執行網頁中的一些js腳本,但是如何將二者結合起來,以及各種框架之間的靈活運用,都將是我需要面對的。
--------------------- 
藍藍設計www.sdgs6788.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、網站建設 平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://www.sdgs6788.com

存檔

嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片
<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 亚洲高清自拍| 国产精品久久久久久久第一福利 | 欧美日韩亚洲一区在线观看| 一区二区免费在线播放| 西瓜成人精品人成网站| 欧美影视一区| 欧美日韩精品不卡| 国产视频一区三区| 亚洲日韩第九十九页| 久久国产精品免费一区| 午夜日韩在线| 国产精品激情av在线播放| 国产精品永久免费观看| 欧美一区成人| 99精品国产在热久久下载| 中文高清一区| 欧美亚洲综合网| 欧美日韩一区二区视频在线观看| 欧美天堂亚洲电影院在线观看| 欧美视频一二三区| 亚洲国产婷婷综合在线精品 | 欧美伊人久久| 欧美国产另类| 亚洲综合首页| 欧美日本在线播放| 亚洲国产激情| 久热精品视频在线免费观看| 亚洲影视在线| 国产精品美女一区二区在线观看 | 99视频有精品| 美女视频黄 久久| 国产一区二区三区黄| 亚洲欧美日韩一区二区在线| 亚洲国产女人aaa毛片在线| 99爱精品视频| 美日韩丰满少妇在线观看| 黑人极品videos精品欧美裸| 欧美中文字幕视频在线观看| 亚洲一区二区在线播放| 国产精品欧美风情| 久久久国产成人精品| 午夜欧美理论片| 国产日韩精品一区二区| 久久久久国产成人精品亚洲午夜| 欧美中文日韩| 午夜日韩在线观看| 久久精品30| 亚洲国产成人精品久久| 日韩网站在线观看| 在线免费观看欧美| 欧美成人精品1314www| 亚洲人妖在线| 国产精品久久久一本精品| 亚洲一区影院| 久久人人看视频| 亚洲国产精品免费| 久久裸体艺术| 久久亚洲影音av资源网| 国产精品免费看片| 中文精品视频一区二区在线观看| 激情一区二区三区| 欧美永久精品| 欧美尤物巨大精品爽| 伊人久久噜噜噜躁狠狠躁| 亚洲自啪免费| 久久综合国产精品| 亚洲国语精品自产拍在线观看| 午夜精品久久| 免费影视亚洲| 99综合电影在线视频| 欧美激情视频在线播放| 欧美国产日韩一区| 欧美一区二区三区免费观看视频| 欧美午夜片在线观看| 久久国产毛片| 日韩午夜在线电影| 亚洲最新中文字幕| 国产精品一区免费视频| 亚洲专区一区二区三区| 国产精品入口夜色视频大尺度| 欧美人交a欧美精品| 蜜桃久久av| 国产精品久久999| 欧美国产丝袜视频| 亚洲午夜日本在线观看| 亚洲欧美影院| 亚洲大片av| 国产精品视频免费观看| 久久精品99国产精品| 久久精品导航| 悠悠资源网亚洲青| 欧美亚洲不卡| 久久伊人一区二区| 午夜精品免费| 亚洲国产视频a| 99视频热这里只有精品免费| 国产欧美日韩在线视频| 久久久久久电影| 免费久久精品视频| 亚洲精品欧美日韩专区| 国产精品自在线| 性欧美8khd高清极品| 一区二区三区四区五区精品| 一本大道久久a久久精品综合| 欧美激情精品久久久久久大尺度| 欧美11—12娇小xxxx| 亚洲日韩欧美视频| 国产精品久久久久久久久果冻传媒 | 午夜精品福利视频| 国产精品扒开腿做爽爽爽软件| 久久国产精品99久久久久久老狼| 国产一区二区成人久久免费影院| 亚洲欧美日韩一区在线| 亚洲一区观看| 一本色道久久综合狠狠躁篇的优点| 国产精品啊v在线| 性久久久久久| 久久综合一区二区| 伊人成人网在线看| 99ri日韩精品视频| 久久视频一区| 欧美一区激情视频在线观看| 麻豆精品网站| 欧美日韩在线观看一区二区三区| 欧美韩日精品| 亚洲香蕉视频| 欧美激情亚洲| 亚洲电影免费| 欧美成人精品在线观看| 免费亚洲视频| 久久人人爽国产| 久久不见久久见免费视频1| 欧美激情视频网站| 欧美一区二视频| 亚洲精品视频一区| ●精品国产综合乱码久久久久 | 亚洲欧美综合另类中字| 亚洲黄网站黄| 91久久线看在观草草青青| 国产精品免费观看在线| 久久米奇亚洲| 性伦欧美刺激片在线观看| 亚洲人精品午夜在线观看| 欧美激情国产日韩| 欧美sm重口味系列视频在线观看| 亚洲国产91| 亚洲国产日韩美| 亚洲深夜福利网站| 欧美一级淫片播放口| 午夜精品久久久久久久久久久久| 亚洲国产老妈| 亚洲夜晚福利在线观看| 欧美一区二区在线播放| 久久蜜桃av一区精品变态类天堂| 性色av一区二区怡红| 久久精品2019中文字幕| 欧美精品三级| 亚洲精品乱码久久久久久久久| 亚洲女爱视频在线| 久久精品理论片| 日韩视频免费大全中文字幕| 羞羞色国产精品| 欧美激情精品久久久久久蜜臀 | 一区二区在线观看av| 国产亚洲精品激情久久| 一本色道久久综合亚洲精品不| 欧美夜福利tv在线| 欧美大片一区二区| 欧美一区二区三区视频| 欧美大片免费久久精品三p| 亚洲国产精品日韩| 久久一区二区三区四区| 亚洲一区二区视频在线观看| 久久婷婷久久| 亚洲国产精品女人久久久| 午夜亚洲视频| 一本一本久久| 欧美日韩亚洲视频一区| 亚洲欧洲一区二区在线播放| 老司机精品视频一区二区三区| 亚洲综合第一| 黄色影院成人| 亚洲国产精品第一区二区| 欧美一区二区三区喷汁尤物| 国产目拍亚洲精品99久久精品 | 99精品视频免费观看| 欧美国产一区在线| 亚洲精品免费看| 日韩视频一区| 国产欧美精品在线| 久久精品99国产精品| 久久久久国色av免费观看性色| 狠狠久久综合婷婷不卡| 亚洲激情第一区| 国产精品一区三区| 欧美福利一区二区三区| 国产女精品视频网站免费| 免费欧美日韩国产三级电影| 国产精品久久久久久久久久免费 | 欧美成人精品|