爬虫系列(1):爬取北邮网研院导师的联系方式

想法与目的

考研的小伙伴们大家好,受今年疫情影响,2020考研的复试到5月份才进行,北邮网研院的计算机科学与技术专业的分数线也提高了12分,到达了312分,不得不找调剂的小伙伴就会面临一个问题——提前联系导师。而北邮网研院导师的介绍是在中心分组里面的,报考的时候却根本不知道老师是属于哪个中心的。那么就产生了一个想法,如果能获取网研院官网上的导师联系方式,那是不是会方便很多呢?(PS:获取了导师的联系方式,也就可以去实现自动给导师发邮件的功能了,哈哈哈,不用做一个没有感情的发邮件机器了)

所用环境

window系统
python 3.7版本
pycharm编辑器

第三方依赖库 作用
urllib 网址解析
requests 网络请求
scrapy 使用xpath表达式进行信息提取(scrapy安装有点复杂,也可以使用别的库)
xlsxwriter 将信息保存到Excel表格中(也可以保存到txt文件中)

代码

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:tzy
@File:爬取北邮网研院导师信息.py
@Time:2020/5/8 12:37
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
参考文档
python:往列表中添加字典时碰到的问题https://blog.csdn.net/Sheldomcooper/article/details/82258006
【Python实例学习】用Python的xlsxwriter模块操作Excel表格,包括写入数据、样式设置、插入图片等https://blog.csdn.net/woshiyigerenlaide/article/details/103976391
"""
import re

from urllib import parse
import requests
from scrapy import Selector
import xlsxwriter

#定义链接,用于后文拼接完整URL
DOMAIN = 'https://int.bupt.edu.cn'

#获取导师的中心信息,存储到teacherList中
def getTeacherCentre(url, teacherList):
    #每个导师信息分别存储在teacherDict中
    teacherDict = dict()
    #网络请求
    res_text = requests.get(url).text
    #使用xpath表达式进行分析
    sel = Selector(text=res_text)
    divs = sel.xpath('//div[@class="padl20 ovhi clear"]/div')
    for div in divs:
        #所属中心的访问链接以及名称
        centre_url = div.xpath('./a[1]/@href').extract()[0]
        centre_url = parse.urljoin(DOMAIN, centre_url)
        centre_name = div.xpath('./a[1]/text()').extract()[0]
        teacherDict['centre_url'] = centre_url
        teacherDict['centre_name'] = centre_name
        print('centre_url:{}'.format(centre_url))
        print
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值