0
我目前正在編寫一個python爬蟲,我想切換到下一頁,但是最佳實踐是什麼?爬行器:轉到下一頁,最佳實踐
其實很簡單,網址的末尾是.html?page = 1,所以我可以增加頁碼,但有沒有最好的實踐來做這件事情儘可能乾淨?
我用的urllib,URL解析和beautifulSoup
#!/usr/bin/env python2
import urllib
import urlparse
from bs4 import BeautifulSoup
def getURL():
try:
fo = open("WebsiteToCrawl", "rw")
print ok() + "Data to crawl a store in : ", fo.name
except:
print fail() + "File doesn't exist, please create WebSiteTOCrawl file for store website listing"
line = fo.readlines()
print ok() + "Return website : %s" % (line)
fo.close()
i= 0
while i<len(line):
try:
returnDATA = urllib.urlopen(line[i]).read()
print ok() + "Handle :" + line[i]
handleDATA(returnDATA)
except:
print fail() + "Can't open url"
i += 1
def handleDATA(returnDATA):
try:
soup = BeautifulSoup(returnDATA)
for link in soup.find_all('a'):
urls = link.get('href')
try:
print urls
except:
print end() + "EOF: All site crawled"
def main():
useDATA = getURL()
handleDATA(useDATA)
if __name__ == "__main__":
main()
NB:我simpfly的代碼比原來
你寫的是什麼?顯示 – Hackaholic
是一個特定的網站爬蟲?或者你應該爬行任何網站?如果有任何網站 - 沒有正確的答案,它們都非常不同,有些網站甚至沒有「下一頁」概念。 – Rusty
@Rusty,我的抓取工具有一個列表(約20個網站),你說得對,他們都非常不同,但我嘗試從通用函數開始,並在特定功能後 – xif