爬取全国各大院校2019考研调剂信息

信息来源:全国各大院校2019考研调剂信息汇总(持续更新)

代码实现:

# kaoyan.py
# -*- coding: utf-8 -*-
from copy import deepcopy

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spiders import CrawlSpider, Rule


class KaoyanSpider(CrawlSpider):
    name = 'kaoyan'
    allowed_domains = ['kaoyan365.cn']
    start_urls = ['http://www.kaoyan365.cn/kaoyantiaoji/tiaojixinxi/158281.html']

    rules = (
        # 提取各个省份的url地址
        Rule(LinkExtractor(allow=r'http://www.kaoyan365.cn/kaoyantiaoji/tiaojixinxi/\d+?.html'), callback='parse_list',
             follow=False),
    )

    def parse_list(self, response):
        # 提取各个大学名称及链接
        td_list = response.xpath('//div[@class="zg_list_left01_cont"]//td')
        for td in td_list:
            item = {}
            item["university"] = td.xpath('.//text()').extract_first()
            item["href"] = td.xpath('./a/@href').extract_first()
            if item["href"]:
                yield scrapy.Request(
                    item["href"],
                    callback=self.parse_university,
                    meta={"item": deepcopy(item)}
                )

    def parse_university(self, response):
        # 获取网页详细内容
        item = response.meta["item"]
        item["content"] = response.xpath("//div[@class='zg_list_left01_cont']//text()").extract()
        yield item
# pipelines.py
# -*- coding: utf-8 -*-

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://doc.scrapy.org/en/latest/topics/item-pipeline.html
import re


class TiaojiPipeline(object):
    def process_item(self, item, spider):
        # 写入文件
        with open("考研调剂信息.txt", "a", encoding="utf-8") as f:
            f.write("***" + item["university"] + ":" + item["href"] + "\n")
        # 清理无效数据
        self.clear_item(item["content"])
        return item

    def clear_item(self, content_list):
        """清理无效数据"""
        for content in content_list:
            content = re.sub(r"u3000", "", content)
            with open("考研调剂信息.txt", "a", encoding="utf-8") as f:
                f.write(content.strip() + "\n")

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
本科毕业论文,查重率为1.9%,可供大家参考。以python爬虫为背景。Web网页数据挖掘技术在上个世纪80年代早就已经有了初步的研究,随着互联网的迅速开展和大规模数据时代的开展,从“冰山一角”的大量数据中寻找潜在有用的价值信息,数据挖掘技术起到了不可忽视的作用,并成为当下最抢手的钻研热点之一。近年来,该技术快速进步,在工程、医学与科学等多种行业都取得了巨大的成果,其研究价值也随之增高。 随之传统的Web爬虫技术也称为网页机器人或者网页蜘蛛,它是一个对网页数据进行批量的下载的程序。面向传统的Web页面的网络爬虫通常采用的方式是对网页中的超链接关系的对外进行扩展,从而获取整个互联网中页面的信息。基于python的Web爬虫需要对网站中的各个节点之间的进行研究,以便获得整个网站的节点关系图。在网络爬虫开发中,Python是最为普遍运用的设计言语。Python在爬虫设计中具备特殊的优势,其丰厚的开源库和优异的代码封装使得Python爬虫逐步成为了潮流。 本次毕业设计就是在这个背景下进行的,主要采用了python语言设计程序,其丰富的库函数能够找出网页的xml结构,并运用正则表达式对数据进行筛选。 最后将数据存入mysql数据库展开保存,方便后续的操作。本文旨在方便考研调剂挖掘,为考研学子以后咨询信息提供了一条更加便捷和可行的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值