爬取 flbook 檔案
需求介紹
由于實習期間被主管委派了下載下來《安徽省助企政策匯編》的任務,去大概搜索了解了一下 flbook 網站,發現該網站并不提供已經發布的檔案的下載渠道(感覺挺莫名其妙的,都公開允許觀看了,為什么不給下載渠道啊,更何況還是個政府檔案,發布在這種網站上,總覺得哪里有問題),幸好之前有小小的學習過爬蟲的一些基本的操作,經過一晚上的瞎搗鼓之后還真的給搗鼓出來了,
最終成果是爬取到每一頁的圖片檔案,并對檔案按照順序進行命名,最終再統合進一個PDF,實作檔案的下載(偽),
代碼與最終成果
from selenium import webdriver
import time
from selenium.webdriver import ChromeOptions
for i in [1236]:
x = str(i)
link = "https://flbook.com.cn/c/ZvzVFHIeih#page/" #網站地址
last = link + x
png = x+".png" #檔案命名方式
location = "D:/code/pachong/code/123/" + png #檔案地址
option = ChromeOptions()
option.add_argument('--headless')
# browser = webdriver.Chrome(options=option)
# browser.set_window_size(15360, 3600)
driver = webdriver.Chrome('./driver/chromedriver.exe',options=option) #瀏覽器
driver.set_window_size(15360, 3600) #改變視窗大小以得到清晰度更高的圖片
driver.get(last)
time.sleep(3)
# driver.find_element_by_name("pageswitching").click()
# time.sleep(3)
# driver.find_element_by_class_name("btn tooltip btnhover tooltipstered").click()
# time.sleep(3)
# driver.execute_script("document.body.style.zoom='1.2';")
# driver.get_screenshot_as_file(png)
# time.sleep(3)
a = driver.find_element_by_xpath('//*[@]')
a.screenshot(location)
# time.sleep(1)
driver.quit()
學習到的內容
1、在第一次嘗試代碼的運行后獲得到的圖片清晰度太低太低,經過搜索后選擇改變頁面大小的切換之后,清晰度得到了提高,
2、截圖的功能之前并未涉及,但是也不麻煩,雖然網上多是整螢屏進行截屏的教程,但最侄訓是找到了需要的內容,
3、好久沒碰爬蟲了,不得不說手有點生疏,連xpath需要的內容找起來都有點吃力,就當是個復習了吧,
需要優化的內容
1、首先,這并不是真正的檔案,而是圖片的截取與拼接,雖然組合成PDF并未有太大的區別,但是終究是有區別的,
2、其次,在撰寫程序中我試圖先對網頁進行單頁顯示,然后再爬取圖片,但是因為不明原因,單頁顯示按鈕的自動化點擊會出錯,經過大量試錯之后也未得到修正,因而最后得到的都是雙頁顯示的圖片,
3、爬蟲的學習畢竟只是淺嘗輒止,涉及到IP池等深層次的內容便沒有再進行學習了,該程式也是一種暴力爬取的操作,所以所消耗的時間較多,優點是簡化了人工操作,缺點是還可以更進一步優化,
總結
暑假的實習期間也算是有點識訓的,雖然感覺總體偏向文職,但是還是學到了很多東西,也有點點未來的打算了,希望等到下一次實習的時候我的技術可以支撐我擔任技術人員,還是要一直學習下去啊,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/502294.html
標籤:Python
