python爬取微博用户信息(三)—— 创建MicroBlog类实例

这一节,主要讲述 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文件

二、MicroBlog.py中的功能函数

三、traceback的用法

四、代码


一、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)

参考:

猜你喜欢

转载自blog.csdn.net/weixin_45666660/article/details/110950483