#实战环节
#目标网站 http://www/jikexueyuan.com/course/
#目标内容:课程名称,课程介绍,课程时间,课程等级,学习人数
#涉及到的技术有 Request抓取网页 re.sub换页 正则表达式匹配内容
#当抓取的内容很多时候要获得内容的时候可以利用标签的class属性
#利用先抓大再抓小的技巧
import requests
import re
#将命令提示符的编码强制转换为utf-8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
class spider(object):
def __init__(self):
print "开始爬取内容"
#根据单个连接得到抓取的网页内容
def getsource(self,url):
html = requests.get(url)
return html.text
#根据页面总的数量获取所有的链接
def changepage(self,url,total_page):
now_page = int(re.search('pageNums=(\d+)',url,re.S))
page_group = []
for i in range(now_page, total_page):
#利用re替换掉其中页号内容
link = re.sub('pageNum=\d+','pageNum=%s'%i, url,re.S)
page_group.append(link)
return page_group
#先抓取每个课程中的大内容
#source代表的是每个页面内容
def geteveryclass(self,source):
everyclass = re.findall('(<li deg="".*?</li>)',source,re.S)
return everyclass;
#对每个大的内容再进行解析得到对应的详细的信息
def getinfo(self,eachclass):
#创建了一个字典
info = []
info['title'] = r
爬虫--实战--极课学院课程爬取
最新推荐文章于 2025-07-20 09:59:38 发布