Python开发

python爬虫爬取慕课网视频

如何使用BS?现在正式开始今天的主要内容:如何使用BS爬取慕课网所有课程及其对应的评分。本文依托的Python环境为Python 3.6.0,pip版本为pip3,BS版本为BS4。

def parse_one_page(html):pattern = re.compile(‘

.*?lecturer-info.*?(.*?).*?shizhan-intro-box.*?title=”.*?”>”(.*?)

.*?class=”grade”>(.*?).*?imv2-set-sns.*?”(.*?).*?class=”big-text”>(.*?)

.*?shizan-desc.*?>”(.*?)

.*?

‘,re.S)items = re.findall(pattern,html)for item in items:#格式化每一条数据为字典类型的数据yield {‘teacher’: item[0],’title’: item[1],’grade’: item[2],’people’:item[3],’score’: item[4],’describe’: item[5]}完整代码:。

def parse_one_page(html):    pattern = re.compile(‘.*?lecturer-info.*?(.*?).*?shizhan-intro-box.*?title=”.*?”>’                         ‘(.*?)

python爬虫爬取慕课网视频

.*?class=”grade”>(.*?).*?imv2-set-sns.*?‘                         ‘(.*?).*?class=”big-text”>(.*?)

.*?shizan-desc.*?>’                         ‘(.*?)

.*?

‘,re.S)    items = re.findall(pattern,html)    for item in items:    #格式化每一条数据为字典类型的数据        yield {            ‘teacher’: item[0],            ‘title’: item[1],            ‘grade’: item[2],            ‘people’:item[3],            ‘score’: item[4],            ‘describe’: item[5]        }完整代码:。

def parse_data():    “””    :brief 从html文本中提取指定信息    :return: None    “””    # # 解析为HTML文档    try:        while True:            # 等待25s,超时则抛出异常            detail_url = url_queue.get(timeout=25)            html = send_request(detail_url, headers, param=None)            html_obj = etree.HTML(html)            item = {}            # 发布日期            item[‘publishTime’] = html_obj.xpath(“.//div[@class=’info-primary’]//span[@class=’time’]/text()”)[0]            # 职位名            item[‘position’] = html_obj.xpath(“.//div[@class=’info-primary’]//h1/text()”)[0]            # 发布者姓名            item[‘publisherName’] = html_obj.xpath(“//div[@class=’job-detail’]//h2/text()”)[0]            # 发布者职位            item[‘publisherPosition’] = html_obj.xpath(“//div[@class=’detail-op’]//p/text()”)[0]            # 薪水            item[‘salary’] = html_obj.xpath(“.//div[@class=’info-primary’]//span[@class=’badge’]/text()”)[0]            # 公司名称            item[‘companyName’] = html_obj.xpath(“//div[@class=’info-company’]//h3/a/text()”)[0]            # 公司类型            item[‘companyType’] = html_obj.xpath(“//div[@class=’info-company’]//p//a/text()”)[0]            # 公司规模            item[‘companySize’] = html_obj.xpath(“//div[@class=’info-company’]//p/text()”)[0]            # 工作职责            item[‘responsibility’] = html_obj.xpath(“//div[@class=’job-sec’]//div[@class=’text’]/text()”)[0].strip()            # 招聘要求            item[‘requirement’] = html_obj.xpath(“//div[@class=’job-banner’]//div[@class=’info-primary’]//p/text()”)[0]            print(item)            jobs_queue.put(item)  # 添加到队列中            time.sleep(15)    except:        pass保存数据为json文件代码如下:

对于小白来说,爬虫可能是一件非常复杂、技术门槛很高的事情。比如有的人认为学爬虫必须精通 Python,然后哼哧哼哧系统学习 Python 的每个知识点,很久之后发现仍然爬不了数据;有的人则认为先要掌握网页的知识,遂开始 HTML\CSS,结果入了前端的坑,瘁……。

这个爬虫主要就是获取慕课网的课程信息,并把获得的信息存储到一个文件中,其中要用到cheerio库,它可以让我们方便的操作HTML,就像是用jQ一样。

MVC 设计模式让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同。 下面就是通过使用Django来完成以上功能的例子: 首先,我们分成4个Python的文件,(models.py ,views.py , urls.py ) 和html模板文件 (latest_books.html )。

个某民宿公司做市场运营的实习生,每天午休抽空学习 Python 爬虫,通过抓取竞品店铺的下单情况、单价、销售额、人群画像等,做出每日价格趋势分析报表,帮助公司提升了业绩,受到老板赏识,不仅直接提前转正,底薪还涨了一级。

jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注