这一节,主要讲述 main.py文件,该文件创建了一个MicroBlog类,MicroBlog类中包含一些爬取微博内容的函数。
以及简单介绍traceback的用法。
感兴趣的小伙伴可以收藏哦!
另外,关于本代码的效果展示,以及教程,点击以下链接即可。
python爬取微博用户信息(一)—— 效果展示
python爬取微博用户信息(二)—— cookie的获取方式以及configs中参数的设置
python爬取微博用户信息(四)—— 爬取用户信息的功能函数
python爬取微博用户信息(五)—— os.sep函数、os.path.split() 、os.path.realpath()、os.path.isdir()、os.makedirs()用法
python爬取微博用户信息(六)—— 完整代码
目录
一、main.py文件
1、导入包
(1)import traceback
- 我们会用到 traceback.print_exc() 函数,具体用法后面会有详解。
(2)import configs
- 导入的是我们的配置文件 configs.py,会用到其中的参数。
(3)from MicroBlog import MicroBlog
- 导入的是 MicroBlog.py 文件中的 MicroBlog 类,里面含有很多的功能函数。
import traceback
import configs
from MicroBlog import MicroBlog
2、主要函数 ------ main() 函数
(1)作用:
- 调用MicroBlog类,创建微博实例MB
- 爬取微博信息
(2) 具体代码:
# 调用MicroBlog类,创建微博实例MB
MB = MicroBlog(cookie, user_id, user_url, filter, pic_download)
# 爬取微博信息
MB.start()
二、MicroBlog.py中的功能函数
在这节,只讲述main.py文件中用到的start()函数的功能,下一节将会讲述其他函数的功能及代码。
1、start()函数的功能
start() 函数是 MicroBlog.py 文件中的函数,是MicroBlog类下的函数,是运行爬虫的函数,即,执行爬虫程序。
其中,get_microblog_info() 为获取微博内容的函数。
2、代码
def start(self):
""" 运行爬虫 """
try:
# print('------Start Crawling------')
self.get_microblog_info()
print(u'------信息抓取完毕------')
print('*' * 100)
except Exception as e:
print('ERROR: ', e)
traceback.print_exc() # 捕获并打印异常的方法
三、traceback的用法
1、什么是traceback?
- Traceback 是 Python 错误信息的报告。
2、traceback.print_exc()的功能?
- Python使用 traceback.print_exc() 来代替 print(e) 来输出详细的异常信息
3、traceback.print_exc() 的用法
(1)未添加traceback.print_exc()
try:
a = 1
b = 0
print(a / b)
except Exception as e:
print('ERROR: ', e)
结果:只是报错,但是我们并不清楚是哪个文件,哪行代码出了错。
(2)添加traceback.print_exc()
import traceback
try:
a = 1
b = 0
print(a / b)
except Exception as e:
print('ERROR: ', e)
traceback.print_exc()
结果:traceback.print.exc()可知哪个文件的哪个函数出了什么错误,很方便。
四、代码
main.py
import traceback
import configs
from MicroBlog import MicroBlog
def main(args):
"""
user_id: the id of user, such as 1669879400(迪丽热巴)
filter: 0 or 1 (0: 原创微博 + 转发微博; 1:原创微博)
pic_download: 0 or 1 (0: 不下载原始微博图片; 1: 下载微博原始图片)
"""
try:
cookie = {'Cookie':your cookie}
# 使用实例,输入一个用户id,所有信息都会存储在文件user_information中
user_id = args.user_id
user_url = args.user_url
filter = args.filter
pic_download = args.pic_download
# print(user_id, filter, pic_download)
# 调用MicroBlog类,创建微博实例MB
MB = MicroBlog(cookie, user_id, user_url, filter, pic_download)
# 爬取微博信息
MB.start()
except Exception as e:
print('ERROR: ', e)
traceback.print_exc() # 捕获并打印异常的方法
if __name__ == '__main__':
args = configs.parse_args()
main(args)
参考: