我正在學習使用python進行網頁爬行。我有一個包含大量網址的CSV文件。使用python 2.7和硒我目前爬行這些網站提取像數據:體寬度(以像素爲單位),HTTP響應,網頁加載速度和meta name="viewport"
標籤。使用一個大腳本代替多個小腳本會更好嗎?
腳本的結果我然後導出到CSV文件與含有萃取(見下文)的數據的類型的每一列。我計劃通過編寫新的抓取工具來提取更多類型的數據。
如何我當前的腳本中的數據導出到CSV文件 - > CSV文件看起來像這樣:
Website | body width | HTTP response | load speed (in secs) | Viewport
www.url1.com | 690 | 200 | 2 | No
www.url2.com | 370 | 404 | 0.5 | Yes
然而,我的腳本(一個單一的.py文件)越來越長,因此稍微複雜由於每個新功能添加了更多的代碼行。我擔心我添加的功能越多,越慢,對錯誤敏感度越高。我怎麼看它,我現在有兩個選擇:
選項1.繼續開發新功能,爬行對現有的腳本文件
選項2.編寫新的爬行功能,以不同的腳本文件:我從現在開始,我要考慮在單獨的.py文件(1 crawler = 1 .py文件)上編寫新的搜尋器,並且將當前的腳本(單個.py文件)分割爲多個搜尋器(多個.py文件) 。
我然後可單獨運行每個履帶和所有履帶結果寫入到一個單一的CSV文件(如上面示出)。通過使用多個抓取程序文件(假設),與將所有抓取工具放在一個.py文件中(比如我現在)相比,我認爲我將擁有更簡潔,更不敏感,更快,更靈活的抓取工具。
所以我的問題:
- 什麼是選項1 & 2的利弊?
- 是一種選擇優於其他,如果是這樣,爲什麼?
- 我在選項2中的假設是否正確?
不好意思,如果我的文章可能不夠具體,但讓我的問題得到解答將極大地幫助我!