2017-04-21 49 views
1

我是python的新手,我發現很難理解Python中記錄的整個概念。我目前在這個網站抓取的項目工作使用python 3.我已經使用BeautifulSoup4幫我:如何在同時抓取網頁時創建日誌文件(Python 3)?

from bs4 import BeautifulSoup 
import urllib3 
import urllib.request 

web = "https://docs.python.org/3/howto/logging-cookbook.html" 

page = urllib.request.urlopen(web) 
soup = BeautifulSoup(page) 

print(soup.prettify()) 

你知道我應該如何開始: 我已經寫了下面的代碼?我要從哪裏開始,我應該寫什麼代碼才能創建我的日誌文件?我真的很困惑,有人請helpppppp我!!!!!!! 謝謝!

+0

爲什麼您需要一個日誌文件?最基本的做法是在代碼中發生重要事件時打開一個新文件並寫入它。只需搜索「寫入文件python」 – CamJohnson26

+0

@ CamJohnson26嗨,感謝您的建議! – Charice

+1

你想記錄什麼?只是網址?下載的頁面? – tdelaney

回答

0

該食譜爲您提供了很多很棒的信息。有很多選擇,但最低限度非常容易。我已經用一個基本的日誌實現更新了你的代碼。運行您的代碼,然後在當前工作目錄中查看my_logfile.txt。你可以通過在食譜中實現這些例子來體現它。

from bs4 import BeautifulSoup 
import urllib3 
import urllib.request 
import logging 

logging.basicConfig(level=logging.INFO, filename='my_logfile.txt') 
logger = logging.getLogger('scraper') 

web = "https://docs.python.org/3/howto/logging-cookbook.html" 

page = urllib.request.urlopen(web) 
soup = BeautifulSoup(page) 

logger.info('loaded {}'.format(web)) 

print(soup.prettify()) 
+0

嘿!十分感謝你的幫助!!!真的很感激它!!!!!! – Charice

0

如果你死心塌地建設一個網站刮板自己沒關係,但是看看https://scrapy.org/它處理幾乎所有的處理請求,重試討厭位,一般爬行網站等

在scrapy中的登錄是由內置的logging模塊在python中處理的。 https://doc.scrapy.org/en/latest/topics/logging.html

如果你確實想自己構建它,而不是使用print()直接使用logging模塊。 Docs https://docs.python.org/3/howto/logging.html以及便利的烹飪書示例集合在https://docs.python.org/3.6/howto/logging-cookbook.html#logging-cookbook

+0

嘿保羅!非常感謝!!! – Charice

相關問題