首页 > 其他分享 >利用bs4爬取传智的讲师团队信息

利用bs4爬取传智的讲师团队信息

时间:2022-12-28 17:37:26浏览次数:56  
标签:bs4 self list 爬取 dict 传智 data teacher

终于五一了,好不容易迎来了小长假,首先在这里恭祝大家节日快乐,劳动人民最可爱,向劳动人民致敬,在这也祝愿大家的付出都能够得到回报。


面对疫情后的复工复产,想必大家现在恨不得全部的时间都投入到工作中,恨不得一天有25个小时,最近时间管理这个词火了。为什么火了我也不知道。可能是大家都认识到合理安排时间的重要性了。


利用bs4爬取传智的讲师团队信息_json


我想我也需要学学时间管理了,对的,就是时间管理,让你的每天多出一个小时, 当然多出来的这个时间不是为了多人运动,而是产出更多更好的优质文章。这样我也算是一个负责的公众号运营者了。哈哈哈,自我意淫下。


今天给大家带来的是使用bs4来爬取传智播客讲师团队的信息。本来按照教程上,应该是爬取腾讯社招上的招聘信息的,但是发现我实在是too young too simple了,现在人家都改使用接口了,所以这个会在下篇文章中给大家展示。


对于bs4给大家介绍下,bs4:BeautifulSoup,作用:用来解析网页,提取指定数据的。提供的接口非常简单。使用起来人性化。所以用的比较多,但是bs4只能解析html格式的数据。


首先让我们安装下bs4,通过cmd调出黑窗口命令行,输入如下代码:

pip install bs4

然后,我们在网址栏输入:

​http://www.itcast.cn/channel/teacher.shtml​​,这个页面里面的讲师资料是我们想要爬取的内容,我们分析下页面,点击不同课程的讲师,可以发现链接的规律,如下图:

利用bs4爬取传智的讲师团队信息_json_02

利用bs4爬取传智的讲师团队信息_时间管理_03

利用bs4爬取传智的讲师团队信息_时间管理_04

综上所得,可以看出所有的讲师的资料都是在

www.itcast.cn/channel/teacher.shtml,这个页面上的,只是通过不同的锚点,按照tab的形式进行展示的,所以我们只需要找到这个页面上讲师信息的规律即可,接下来我们就通过F12进行元素审查,

具体内容的获取如下图:

利用bs4爬取传智的讲师团队信息_json_05

分析完网页,接下来让我们进入编码环节,代码如下:

import requests
from bs4 import BeautifulSoup
import json
import time


class itcast_teacher(object):


def __init__(self):
self.base_url = "http://www.itcast.cn/"
self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"}
self.item_list = []
#发出请求
def send_request(self, url, params={}):
time.sleep(1)
response = requests.get(url, headers=self.headers)
return response.content.decode('utf-8')


# 解析数据
def analysis_data(self, data):
# 1.转换类型
soup = BeautifulSoup(data, "lxml")
# 2.获取标签--列表
data_list = soup.select(".tea_txt ul li")
#print(len(data_list))
# 3.将里面的每一行的数据 提取出来
for per_data in data_list:
dict = {}
#获取老师的图片
dict['tea_img'] = self.base_url+per_data.select(".li_img img")[0]['data-original']
# 获取老师的姓名
dict['tea_name'] = per_data.select(".li_txt h3")[0].get_text()
# 获取老师的职称
dict['tea_rank'] = per_data.select(".li_txt h4")[0].get_text()
# 获取老师的描述
dict['tea_desc'] = per_data.select(".li_txt p")[0].get_text()
#print(dict)
#print(per_data)
#把信息追加到列表中
self.item_list.append(dict)


# 写入本地文件
def write_file(self,data):
# 将列表转换成 字符串str
data_str = json.dumps(self.item_list)
with open("teacher.json", "w") as f:
f.write(data_str)


def start_work(self):
#发出请求
data = self.send_request(self.base_url+"channel/teacher.shtml")
#解析获得的html页面
self.analysis_data(data)
#print(len(self.item_list))
#print(data)
#把页面信息写入本地
self.write_file(data)
# 3.解析数据 -->返回 判断是都是最后一页的条件
# print(self.analysis_data(data))




if __name__ == '__main__':
#实例化对象
tool = itcast_teacher()
#调用方法
tool.start_work()


然后我们执行程序,当我们看到本地生成一个teacher.json文件,即代表我们程序执行成功。如图:


利用bs4爬取传智的讲师团队信息_json_06


以上就是给大家的分享,谢谢大家。该程序代码为:teach_spider.py,代码获取请在后台回复:传智播客,更多精彩视频教程请关注微信公众号spiderBy,回复python教程即可获取。





标签:bs4,self,list,爬取,dict,传智,data,teacher
From: https://blog.51cto.com/u_15924937/5975826

相关文章

  • 利用py爬取生日的那天哈勃望远镜拍到了什么?
    于1990年4月发射升空的哈勃太空望远镜迎来了升空30周年纪念。为此,美国宇航局(NASA)近日在其官网上发起一项活动——“哈勃望远镜在你生日那天看到了什么?”NASA邀请大家搜索自......
  • 【Python 库】bs4的使用
    和lxml一样,BeautifulSoup也是一个HTML/XML的解析器,主要的功能也是如何解析和提取HTML/XML数据。BeautifulSoup,是一个第三方的库,所以使用之前需要安装,安装方法,输入cmd,调出......
  • Python爬取意林杂志所有期刊文章
    可能很多人对这个意林杂志比较陌生,但是对于小编来说,那可是满满的回忆。记得我们上中学那时候读过的意林,那可是一本接着一本,其中有很多令人感动的故事,一直被温暖,被治愈。接下......
  • python爬取公众号链接里面的图片
    话不多说,步入今天文章的分享内容,今天给大家带来的是~~爬取微信公众号文章里面的图片。爬虫代码:#coding:utf-8#__auth__="maiz"#__date__="2021/3/27"importosimport......
  • py爬取当当网前500畅销书,送给书荒的你
    最近和朋友聊天,讨论到读书的问题,说是读书到底有什么用?我半开玩笑的给他讲了一个故事。男孩将女孩送到宿舍楼下,看着一路上两人始终保持着的那一步的距离,男孩终于鼓起勇气,说道......
  • 使用py爬取复产后的鹅厂都在招聘哪些职位
    hello呀,各位小伙伴,今天是五月的第二天,不知道大家是在家里wifi,空调,西瓜呢,还是在拥挤的景区看着人山人海!反正小编是穿着大裤衩,坐在马路边的沙滩上,啜一口摆在身边的饮料,享受......
  • 使用python爬取B站视频
    B站之所以火,是因为趣味与知识并存。正如一句“你在B站看番,我在B站学习”,B站还是有一些质量比较好的学习视频。当你在B站上看到喜欢的视频想保存下来时,怎么办呢?我相信很多逛B......
  • Python 爬取人人视频
    hello,小伙伴们,又见面了,距离上一次发布文章的时间,也算是久别重逢了。期间也发生了很多的事情,导致博文断更,也是笔者不愿意的,但是确实是比较忙,不再过多赘述,希望大家能够体谅。......
  • Python爬取快手博主所有视频
    随着互联网经济的快速发展和自媒体行业的普及,越来越多的视频创作者加入了短视频平台,不仅快速的推动了短视频平台行业的发展,也给大众带来了更多新鲜有趣的知识和内容。据最新......
  • Python爬虫实战,requests+openpyxl模块,爬取小说数据并保存txt文档(附源码)
    前言今天给大家介绍的是Python爬取小说数据并保存txt文档,在这里给需要的小伙伴们代码,并且给出一点小心得。首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基......