代码:

##爬取网络:慕课网("https://www.imooc.com/")from bs4 import BeautifulSoup
import urllib.request
import xlwt
import timetime_star = time.time()
ur = ["mobile","python","java","php"]  ##通过查看网页源代码,手动构造访问链接
url_basic, mingc, lianj, url, hda, x = [], [], [], [], [], 1for j in range(len(ur)):url_basic.append("http://www.imooc.com/course/list?c=" + ur[j] +"&page=")for i in range(7): ##网页个数最多为7urll = url_basic[j] + str(i)url.append(urll) heads = {'Connection': 'keep-alive','Accept-Language': 'zh-CN,zh;q=0.9','Accept': 'text/html,application/xhtml+xml,application/xml;\q=0.9,image/webp,image/apng,*/*;q=0.8','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36\(KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
}for key,value in heads.items():items = (key,value)hda.append(items)opn = urllib.request.build_opener()
opn.addheaders = hda
urllib.request.install_opener(opn)for i in url:try:  ##当网页不存在时,跳过本次循环,以便程序继续执行data = opn.open(i).read()soup = BeautifulSoup(data,'lxml')coursenames = soup.find_all('h3',class_="course-card-name")links = soup.find_all('a',class_="course-card")except:continuefor cour in coursenames:coursenames = cour.get_text()mingc.append(coursenames)x += 1  for link in links:links = 'https://www.imooc.com'+str(link['href'])lianj.append(links)header = ["序号","课程名称","课程链接"]
with open(r"C:\Users\AdamCY\Desktop\wenjian\python爬虫\py_spa.xlsx", "w",encoding='utf-8') as file:   file = xlwt.Workbook(encoding = 'utf-8')  sheet = file.add_sheet('hello')  sheet.write(0, 0, header[0]) ##此处尚需优化:学习用一行代码插入三列的标题(表头)sheet.write(0, 1, header[1])sheet.write(0, 2, header[2])for i in range(x-1):sheet.write(i+1, 0, i+1)sheet.write(i+1, 1, mingc[i])  sheet.write(i+1, 2, lianj[i])   file.save(r"C:\Users\AdamCY\Desktop\wenjian\python爬虫\py_spa.xlsx")time_spend = time.time() - time_star
print(time_spend)  ##运行结果为32秒,代码执行速度太慢,还需要进一步优化

结果:

python 网络爬虫(慕课网)相关推荐

  1. 小猿圈分享利用python网络爬虫获取网易云歌词

    今天小猿圈给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌曲ID: 调用网易云歌曲API,获取歌词: 将歌词写入文件,并存入本 ...

  2. python网络爬虫网易云音乐_一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取...

    标签下,如下图所示: 接下来我们利用美丽的汤来获取目标信息,直接上代码,如下图: 此处要注意获取ID的时候需要对link进行切片处理,得到的数字便是歌曲的ID:另外,歌曲名是通过get_text()方 ...

  3. 手把手教你用Python网络爬虫获取网易云音乐歌曲

    前天给大家分享了用Python网络爬虫爬取了网易云歌词,在文尾说要爬取网易云歌曲,今天小编带大家一起来利用Python爬取网易云音乐,分分钟将网站上的音乐down到本地. 跟着小编运行过代码的筒子们将 ...

  4. 手把手教你写Python网络爬虫:网易云音乐歌单

    介绍 什么是爬虫? 先看看百度百科的定义: 网络爬虫 简单的说网络爬虫(Web crawler)也叫做网络铲(Web scraper).网络蜘蛛(Web spider),其行为一般是先"爬& ...

  5. python网络爬虫 百度网盘_百度网盘爬虫(如何爬取百度网盘)

    因为要做去转盘网(分类模式点我),所以一定要爬取网盘资源,本来想自己写一个爬虫挺不容易的,不想分享出来,但最后还是决定了拿给大家一起看吧,毕竟有交流才有进步,有兴趣的朋友也可以看看我写的其他日志或者关 ...

  6. Python网络爬虫与信息提取笔记(续篇)(文末附教学视频)只供教学讲解,请勿对有robots协议的网站(如淘宝网)造成骚扰

    接上篇博客:Python网络爬虫与信息提取笔记(文末附教学视频) 14:基于bs4库的HTML内容遍历方法 标签树的下行遍历: 用len(soup.body.contents)返回body标签的儿子节 ...

  7. python网络爬虫技术课后答案_尔雅《Python网络爬虫技术(2020年秋季学期)》网课答案...

    尔雅<Python网络爬虫技术(2020年秋季学期)>网课答案 法律的一般含义是() 答:法律是由国家创制并保证实施的行为规范 下列属于急症手术的是 答:肝破裂 脾气统摄血液的功能,实际上 ...

  8. Python网络爬虫实践(1):爬取网易云音乐播放量大于1000万的歌单

    Python网络爬虫实践(1) 一.需求分析 爬取网易云音乐播放量大于1000万的歌单. 二.实施步骤 1.安装selenium selenium是一个用于Web应用自动化程序测试的工具,测试直接运行 ...

  9. python网络爬虫网易云音乐下载_python网络爬虫爬取网易云音乐

    #爬取网易云音乐 url="https://music.163.com/discover/toplist" #歌单连接地址 url2 = 'http://music.163.com ...

最新文章

  1. Android ndk之Check that/ndk/openssl/crypto/libsfk.so exists or that its path is corret
  2. mysql 修改data目录后 无法使用脚本启动
  3. 8、周期性任务、find、break和continue 学习笔记
  4. 设计一个方法输入字符串,字节数,输出截取的字符串
  5. opencv对图像是软解码_基于opencv和c++的图像处理软件设计与实现(26页)-原创力文档...
  6. C#中的函数式编程:递归与纯函数(二) 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面...
  7. 大平房到朝阳环路时间表_冰蓄冷系统设计计算10大要点
  8. pycharm搭建yolo3-pytorch-master的pytorch环境
  9. SMAP: Single-Shot Multi-Person Absolute 3D Pose Estimation
  10. php+生成条形码18位,php实现在线生成条形码示例分享(条形码生成器)
  11. 淘宝服务商怎么入驻(入驻淘宝需要什么条件)
  12. 鼠标上下滚轮不灵敏的修复方法
  13. Spring中@AliasFor注解的作用及原理
  14. (二十七)论文阅读 | 目标检测之MAL
  15. 卷积网络中的通道(channel)和特征图(feature map)
  16. 我的工训:加强沟通、加深理解、扩大分享!
  17. 粵語中不同男人的称呼
  18. [历朝通俗演义-蔡东藩]
  19. 浅谈大数据业务处理流程
  20. 去除Office2013账户登录

热门文章

  1. java#python#c#技术交流QQ群
  2. 石油大学计算机第三次在线作业,石油大学管理会计第三次在线作业答案
  3. 佩奇:Google将投入巨资开发前瞻性…
  4. Redis数据类型——list
  5. 2022年下半场,Plug and Play重点关注的品牌和零售创新是?
  6. PyBullet(六)UR5机器人手臂模型
  7. org.xml.sax.SAXParseException; lineNumber: 9; columnNumber: 105; cvc-elt.1: 找不到元素 'beans' 的声明。
  8. STM32内存空间个人见解
  9. 如何设置Windows10定时重启?
  10. 小巧好用的真无线耳机,音质还挺好,SOUNDPEATS泥炭Air3体验