前言:
在开始本文之前,我非常建议先学习下我写的第一篇爬虫练习的文章:https://blog.csdn.net/hahameier/article/details/110558398,里面有涉及到一些基本的东西。
在本文中,我会循序渐进,从爬取两个信息来带大家熟悉和学习下整体的流程(代码较少,帮助小白克服一堆代码的恐惧),然后才会延伸至多个信息的爬取。
本文将会非常适合知道了一些爬虫的基础知识,但是还没用实际例子来尝试的朋友。
参考链接:
1、百度大脑的教程《深度学习导论与应用实践》第二章节的课后习题:
https://aistudio.baidu.com/aistudio/projectDetail/101811
【但是代码部分已经不适用于现在的版本了,需要进行重构,本文会给出自己写的能运行的最新版的代码。】
2、上一篇自己写的爬虫练习:https://blog.csdn.net/hahameier/article/details/110558398
核心代码:
1、爬取所需要的内容:
def getContent(self, html):
findTitle = re.compile(r'<span class="title">(.*)</span>') # 找到片名
findLink = re.compile(r'<a href="(.*?)">') # 找到影片详情链接
datalist = []
for item in html.find_all('div', class_='item'): # 找到每一个影片项
data = []
item = str(item) # 转换成字符串
link = re.findall(findLink, item)[0]
data.append(link) # 添加详情链接
titles = re.findall(findTitle, item)
# 片名可能只有一个中文名,没有外国名;但我们只取中文名
if len(titles) == 2:
ctitle = titles[0]
data.append(ctitle) # 添加中文片名
otitle = titles[1].replace("/", "") # 去掉无关符号
else:
data.append(titles