嫩草影院久久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>

        • 久久久久久高潮国产精品视| 国产精品日韩精品| 久久精品国产免费看久久精品| 久久亚洲高清| 久久综合精品一区| 国产日韩欧美精品一区| 一区二区三区欧美亚洲| 91久久精品日日躁夜夜躁欧美| 欧美一区二区| 欧美在线一区二区| 国产精品尤物| 亚洲四色影视在线观看| 一本一道久久综合狠狠老精东影业 | 正在播放亚洲一区| 欧美激情女人20p| 亚洲第一精品影视| 亚洲高清三级视频| 免费久久99精品国产自| 欧美成年人网站| 亚洲高清视频中文字幕| 老牛国产精品一区的观看方式| 久久人人97超碰精品888| 国产视频一区在线| 久久成人一区二区| 久久综合色一综合色88| 又紧又大又爽精品一区二区| 久久美女性网| 欧美激情视频一区二区三区不卡| 亚洲欧洲日本国产| 欧美精品在线视频| 这里只有视频精品| 欧美主播一区二区三区美女 久久精品人| 国产精品国产三级国产aⅴ9色| 一本久久综合| 欧美在线电影| **性色生活片久久毛片| 欧美成人亚洲成人日韩成人| 91久久精品日日躁夜夜躁欧美| 一本色道**综合亚洲精品蜜桃冫| 欧美视频一区二区在线观看| 亚洲淫片在线视频| 麻豆视频一区二区| 亚洲靠逼com| 国产精品亚洲一区| 久久全国免费视频| 亚洲毛片av| 久久久久91| 亚洲另类视频| 国产精品乱码妇女bbbb| 久久精品久久99精品久久| 欧美成人午夜视频| 亚洲欧美三级在线| 精品成人在线| 欧美视频在线一区| 久久精品国产亚洲a| 亚洲人精品午夜在线观看| 亚洲欧美在线网| 亚洲国产精品电影| 国产精品xxxxx| 麻豆av一区二区三区| 亚洲图片在线观看| 欧美国产日韩一区二区三区| 午夜精品一区二区三区在线播放| 亚洲成色www8888| 国产精品免费视频观看| 欧美成人激情视频免费观看| 亚洲免费在线| 亚洲精品欧美专区| 久久九九国产精品怡红院| 一区二区三区你懂的| 激情久久影院| 国产精品视频yy9099| 欧美精品日韩一区| 久久久久国产精品一区三寸| 一区二区三区波多野结衣在线观看| 免费精品视频| 久久av老司机精品网站导航| 一区二区三区毛片| 亚洲精品国产欧美| 韩国一区二区在线观看| 国产精品永久入口久久久| 欧美日韩999| 久久久久久久尹人综合网亚洲 | 欧美日韩国产小视频| 久久久91精品国产| 欧美一区在线直播| 亚洲一区视频| 亚洲一区二区在线免费观看视频| 亚洲激情中文1区| 欧美成人小视频| 麻豆国产精品一区二区三区| 久久精品一区二区国产| 性欧美暴力猛交69hd| 亚洲一区二区综合| 亚洲午夜久久久久久久久电影网| 亚洲精品久久久久久久久久久久久| 在线精品视频一区二区| 激情成人综合| 国产亚洲福利| 国产亚洲一区二区在线观看| 国产日韩欧美高清免费| 国产日本欧美视频| 国产日韩欧美在线播放| 国产日产精品一区二区三区四区的观看方式| 欧美日韩国产小视频在线观看| 欧美区亚洲区| 欧美三级视频在线观看| 欧美日韩中文字幕在线| 欧美天堂亚洲电影院在线观看| 欧美日韩一区二区三区四区在线观看| 欧美激情在线播放| 欧美日韩国产成人在线| 欧美深夜影院| 国产麻豆视频精品| 国产在线乱码一区二区三区| 狠狠色狠狠色综合日日五| 在线观看精品一区| 亚洲精品视频免费观看| 99热在线精品观看| 亚洲视频第一页| 欧美一区二视频在线免费观看| 久久久久久免费| 欧美.www| 一区二区三区四区五区精品视频 | 一本色道婷婷久久欧美| 亚洲午夜在线观看| 久久精品视频在线免费观看| 欧美+日本+国产+在线a∨观看| 亚洲国产另类精品专区| 亚洲视频每日更新| 欧美一区二区私人影院日本| 另类人畜视频在线| 欧美日韩在线三区| 狠狠噜噜久久| 99在线|亚洲一区二区| 翔田千里一区二区| 欧美大尺度在线| 亚洲午夜伦理| 免费观看30秒视频久久| 欧美性片在线观看| 尤物yw午夜国产精品视频| 一本色道综合亚洲| 久久亚洲欧美国产精品乐播| 91久久精品美女高潮| 欧美一区二区成人6969| 欧美高清在线一区| 国产欧美日韩一区二区三区| 91久久精品日日躁夜夜躁国产| 亚洲欧美影音先锋| 亚洲电影免费观看高清| 午夜在线电影亚洲一区| 欧美精品国产一区二区| 国语自产精品视频在线看抢先版结局| 亚洲精品一区二区三区av| 久久久国产一区二区三区| 亚洲精品一级| 蜜桃精品久久久久久久免费影院| 国产精品蜜臀在线观看| 亚洲美女网站| 欧美高清在线精品一区| 午夜视频精品| 国产精品久久久久久久久久直播| 亚洲精品国产精品乱码不99| 久久久天天操| 亚洲欧美国内爽妇网| 欧美日韩在线播放一区二区| 亚洲国产精品99久久久久久久久| 久久日韩粉嫩一区二区三区| 国产精品h在线观看| 亚洲日本电影| 欧美不卡福利| 久久综合成人精品亚洲另类欧美| 国产日本欧美视频| 午夜亚洲性色福利视频| 亚洲久久成人| 欧美人与性动交α欧美精品济南到| 在线精品观看| 蜜桃久久av一区| 久久激情综合网| 国产色视频一区| 欧美一级二区| 性欧美video另类hd性玩具| 国产精品久久久久久久久久尿 | 牛牛国产精品| 久久一区二区视频| 亚洲国产精品ⅴa在线观看| 牛牛影视久久网| 猫咪成人在线观看| 亚洲黄色性网站| 亚洲国产小视频| 欧美日韩不卡| 亚洲与欧洲av电影| 亚洲综合欧美| 韩日在线一区| 欧美α欧美αv大片| 欧美aa在线视频| 亚洲美女淫视频| 一本久久综合亚洲鲁鲁| 国产精品视频yy9099| 久久久久免费|