工作流程图如下:
# 使用MongoDB作为数据库进行数据储存。
总体结构分为四层:
- 获取主界面所有大类的链接 spider1(url_links)
- 构建抓取详情页信息的spider2(get_item_information)
- 构建获得列表页内所有item链接的函数(get_item_links)
- 采用多进程的方式整合所有函数,并进行数据爬取
spider1:导入所需要的库(BeautifulSoup,time,requests)——解析网页——元素定位——获得href&&存入channel_list列表中
spider2:导入所需要的库(BeautifulSoup,time,pymongo,requests,proxies)————解析网页&&元素定位&&存入mongodb中
get_item_links函数:使用format()以及split()函数完成链接的生成
创建进程池,使用map()函数将get_item_links对url_list进行遍历,获得物品详情页的链接,同理用spider2依次访问所获得的详情页链接,即可得到最终数据。