一疫鹊、前言
剛開始的時候?qū)W習只是為了學習咬摇,根本就不知道是怎么用的伐蒂,學習了語言花費了4個月,學習分析可視化花費了3個月肛鹏,學習機器學習又花費了3個月逸邦,由于不是科班恩沛,所以一直處于想做項目而沒有門路的處境。一度在想缕减,關(guān)于深度學習和AI對我來說是不是只是一個遙不可及的夢或者空中樓閣雷客,我學習的這些東西到底有什么用?或者該怎么用呢桥狡?直到近期學習了爬蟲搅裙,一步步運用一些基本的東西(原諒我,還是處于這么菜的位置裹芝,深深自責)來解決實際問題部逮,才使我感覺到堅持學習還是有用的,厚積爆發(fā)和自律帶來的自由是那么的妙不可言嫂易。在大神崔老師(獻上我個人感覺講解爬蟲最好的資源Python爬蟲學習系列教程 | 靜覓)的文章指引下兄朋,在公司需求的背景下,學習了基于selenium和pyquery爬取淘寶信息并將其從mongodb中導出為csv文件的相關(guān)知識內(nèi)容怜械,在這里稍微總結(jié)一下颅和,以便后續(xù)學習和實踐,也請各位大神多多指教缕允。
二峡扩、環(huán)境的相關(guān)搭建
1.anaconda的安裝:?Downloads | Anaconda(根據(jù)自己的需要進行安裝即可)
2.Google瀏覽器的安裝:谷歌瀏覽器_谷歌瀏覽器官方下載【Google Chrome最新】-下載之家(注意下載的版本后面用的到,可以打開瀏覽器灼芭,點擊右上角-幫助-關(guān)于Google查看)
3.selenium的安裝:命令行pip install selenium即可
4.Chromedriver的安裝:chromedriver與chrome各版本及下載地址 - CSDN博客(注意要與自己下載的Google相互匹配有额,否則運行程序會報錯)
5.MongoDB的安裝:MongoDB Download Center | MongoDB
安裝過程需要注意以下幾點:
(1)
選擇custom即可。
(2)安裝結(jié)束后一般bin的路徑為:
(3)這時候需要在bin的所在位置建立一個名為data的文件夾:
(4)打開data文件夾彼绷,建立一個新的db文件夾:
(5)進入db文件夾,并且復制其路徑:C:MongoDB\Server\3.6\data\db(最好為這個茴迁,不然后續(xù)啟動mongo報錯)
(6)進入bin 文件夾寄悯,然后shift+右擊選擇在此打開命令窗口,進入cmd 輸入:mongod --dbpath?C:\Program Files\MongoDB\Server\3.6\data\db回車
(7)回車后一定不要關(guān)閉這個命令窗口堕义,而是直接進入bin文件夾下猜旬,shift+右擊進入一個新的命令窗口,然后輸入mongo回車可以看到正常運行倦卖,可以輸入db回車洒擦,輸出為test,然后利用db.test.insert()插入內(nèi)容
(8)配置MongoDB為系統(tǒng)服務(wù):windows+x 打開命令窗口(管理員)怕膛,然后通過如下的簡單操作進入bin 文件夾(我的為3.6版本)
隨后進入data文件夾熟嫩,然后建立一個logs文件夾,在其里面建立一個mongo.log的文本文檔
復制一下該文本文檔的路徑后續(xù)使用褐捻,路徑為下圖中的紅線
下面在上述打開的cmd里輸入如下命令掸茅,其中l(wèi)ogpath 后面的就是上述的路徑
計算機--管理--服務(wù)和應(yīng)用服務(wù)--服務(wù)--找到MongoDB然后右擊點擊啟動可以發(fā)現(xiàn)MongoDB啟動成功
6.MongoDB的數(shù)據(jù)可視化客戶端的安裝:Robo 3T - formerly Robomongo — native MongoDB management tool (Admin UI)下載robo3T即可
7.程序中用到的庫requests椅邓、pyquery、pymongo昧狮、re 可以用pip install 來安裝景馁,其中BeautifulSoup用pip install beautifulsoup4安裝第四版本
至此:環(huán)境搭建完畢,如果不想應(yīng)用Google瀏覽器(因為一啟動程序就會跳出)可以自行嘗試Phantomjs
三逗鸣、程序
1.首先是聲明:
其中配置文件config1中的文件內(nèi)容為:
2.進入頁面并且獲取頁數(shù)信息total.text=“共多少頁”(selenium的text屬性獲取對應(yīng)的文本內(nèi)容):
其中wait_until的使用方法可以看selenium的wait 官方文檔:5. Waits — Selenium Python Bindings 2 documentation下面為其內(nèi)置的等待條件
值得注意和對比的是browser.implicitly_wait(time)和time.sleep(time)與上面的區(qū)別
3.根據(jù)用戶的輸入頁數(shù)輸出該頁的內(nèi)容
值得注意的是wait.until(EC.text_to_be_present_in_element())的用法合住,目的是為了確保輸出的是用戶指定的頁碼
可以自行添加元素
4.存儲MongoDB和運行
至此程序部分完成運行的結(jié)果輸出在了MongoDB里
那么最后一個問題,如何導出數(shù)據(jù)到excel里而可以用于編輯呢撒璧?菜的我選用了一種最簡單的方法透葛,就是轉(zhuǎn)化為csv
四、導出為csv
1.首先仍然要進入bin目錄下沪悲,打開cmd ,輸入如下命令获洲,其中-d 后面的為db名,-c后面的為collections名殿如,-f 后面的為表頭內(nèi)容贡珊,即要輸出的內(nèi)容歸屬,-o 后面的為文件名
隨后可以type cosmetic.dat 在cmd里驗證輸出涉馁,且會發(fā)現(xiàn)在bin文件夾里會多一個cosmetic.dat的文件门岔。
發(fā)現(xiàn)cmd里的輸出中文亂碼,改文件名為cosmetic.csv用excel打開(注意用數(shù)據(jù)-自文本方式打開)烤送,其中跳出的幾個界面:
修改為分隔符號寒随、UTF-8
修改為逗號分隔
其他的不用管理,腦殘按鍵就行帮坚,發(fā)現(xiàn)輸出結(jié)果為:
?要哭了妻往!YOU BUILD YOU RUN IT!
2.editplus、notepad试和、dreamweaver讯泣、等文本代碼編輯器閃亮登場
我選擇了editplus下載:EditPlus - Download Free Trial
然后用其導入cosmetics.csv文件,并且設(shè)定Tools----configure User Tools---file 設(shè)定為UTF-8阅悍,隨后保存文件好渠,其中Encoding 改為ANSI格式
隨后再用EXCEL打開則正常輸出:
五、總結(jié)
時間成本遠大于效果节视,但是可以幫助公司解決一點實際問題還是很有成就感的拳锚,雖然還是菜鳥弱雞,但是心里永遠有一個AI夢寻行,希望以后多學習霍掺,多總結(jié),多向大神們請教!
致死奉句:YOU BUILD YOU RUN IT!!!!!