今天爬了隔壁航电。杭电的研究生导师网站感觉做的没理工好。理工的格式比较好,每个导师对应一个单独的URL,但是杭电是一个学院对应一个URL,所有的导师一起放在一个URL里面,而且每个导师相应信息(如名字,邮箱,电话等)的源码很难找到规律,所以对我这个刚会用xpath的小菜鸡就很不友好。琢磨了半个上午最后放弃了,决定干脆把一整个学院里面的所有导师信息一股脑儿全都爬下来。
下面贴上代码:

import requests
from lxml import etree
import random
from string import punctuation
import re
import time
import pymongo
from pymongo import MongoClientdef download(url):headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}time.sleep(1)r = requests.get(url,headers=headers)r.encoding='utf-8'return etree.HTML(r.text)def write_in_sql(st,xueyuan):xueyuan_imf={xueyuan:st}client = MongoClient()db=client.hangdian_yandao_datacollection = db.xueyuan_imf collection.insert_one(xueyuan_imf)print('正在下载:'+xueyuan)print(st)def spider_deep(url,num,xueyuan):list=[]selector = download(url)for i in range(1,num):name = selector.xpath('string(//*[@id="wrapper"]/div[3]/div/div/div[2]/div/div/div[1]/div/div[2]/div/p[{}])'.format(i))list.append(name)st=''for i in list:st+=i st+='\n'write_in_sql(st,xueyuan)def spider_url():x_url = []url = 'http://mechanical.hdu.edu.cn/53/list.htm'selector = download(url)add= selector.xpath('//*[@target="_blank"]/@href')[0:-1]for i in add:i='http://mechanical.hdu.edu.cn'+i x_url.append(i)page=[115,55,54,97,38,16]xueyuan=['机械制造','机械设计','海洋工程','机电工程','车辆工程','磁性材料']for i in range(0,6):spider_deep(x_url[i],page[i],xueyuan[i])spider_url()

要注意的是这里有Mongodb的数据库操作,所以想要运行代码的话需要先用命令行连接到数据库。
8说了,下个目标是下沙所有高校的导师信息
冲鸭

爬取隔壁杭电研究生导师信息相关推荐

  1. 利用python分析电商_Python实现爬取并分析电商评论

    现如今各种APP.微信订阅号.微博.购物网站等网站都允许用户发表一些个人看法.意见.态度.评价.立场等信息.针对这些数据,我们可以利用情感分析技术对其进行分析,总结出大量的有价值信息.例如对商品评论的 ...

  2. python——利用正则表达式爬取豆瓣读书中的图书信息

    本来可以使用一条正则表达式完成图书信息的爬取,结果发现在CPU性能较差的电脑上进行爬取时耗时非常长,几乎无法将结果获取到.所以,将大的html源码先经过一次简单的匹配以获取到一个中间结果,然后再从中间 ...

  3. 2011杭电研究生复试-------…

    原文地址:2011杭电研究生复试-------笔试作者:hackbuteer 1.输入三个正整数A.B.C,判断这三个数能不能构成一个三角形. 2.有个人从2003年1月1日开始,三天打鱼两天晒网,请 ...

  4. python人人贷爬虫_爬取人人贷网上部分借贷信息以及数据可视化

    一.主题式网络爬虫设计方案:爬取人人贷网上部分借贷信息 1.主题式网络爬虫名称:爬取人人贷网上部分信息 2.主题式网络爬虫的内容与数据特征分析:爬取人人贷部分信息数据,借贷信息 3.主题式网络爬虫设计 ...

  5. 北京房租到底有多高? | 爬取北京海淀区一居室租房信息

    图片来源:花瓣网 文章来源 人工智能与大数据生活 如需转载,请联系原作者授权 最近北京房租成了热门话题,到底北京的房租有多高? 本次实战是爬取北京海淀区一居室的租房信息,共爬取了300套房源信息,看一 ...

  6. python爬房源信息_用python爬取链家网的二手房信息

    题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...

  7. Python网络爬虫:爬取腾讯招聘网职位信息 并做成简单可视化图表

    hello,大家好,我是wangzirui32,今天我们来学习如何爬取腾讯招聘网职位信息,并做成简单可视化图表,开始学习吧! 文章目录 1. 网页分析 2. 获取json数据 3. 转换为Excel ...

  8. 使用python爬取猎聘网的职位信息

    闲来无事,就像看看现在各个行业找工作的情况,写了个简单的爬虫,爬取猎聘网的职位信息. 话不多说,直接上代码. #-*- coding:utf-8 -*- # 抓取猎聘的职位 import time i ...

  9. 爬取中国所有银行官网网址信息

    爬取中国所有银行官网网址信息,并保存在文档中. from urllib import request from urllib.request import urlopen import re url ...

最新文章

  1. 微信小程序框架封装登录,网络请求等公共模块及调用示例
  2. 10-flutter 使用http包请求和网络指示器
  3. 如何使用拦截器获取Controller方法名和注解信息?
  4. ASP MVC 后台控制器弹出框提示
  5. IBM苏中:怎样利用深度学习、增强学习等方法提高信息处理效率
  6. Openldap配置TLS加密传输(完整版——shell脚本实现[即在客户端执行代码,即可实现TLS加密])
  7. 工程实践规模化推进要点分析
  8. Unable to add window token null is not valid is your activity running
  9. 软件集成策略故事连载----对项目的不利影响竟然这么大
  10. HarmonyOS 编译系统源码
  11. 如何防止 Safari 使用来自 iOS 15 和 macOS Monterey 的网站着色?
  12. 【空间分析】0 基本空间分析工具
  13. (转)Linux 系统性能分析工具图解读(一、二)
  14. 工具资源合集【持续更新】文字识别、英文写作、频段查询
  15. SIFT@David G. Lowe
  16. 我傻眼了:一个完全由 AI 生成的播客,采访了乔布斯
  17. 国产数据库---GBase进入Gartner DMSA魔力象限
  18. 论文阅读:高炉炼铁工序入炉焦比预测的研究
  19. VUE plugin 插件
  20. 集合框架,JDK8新特性

热门文章

  1. 本科计算机数据库应用,数据库计算机论文,关于计算机数据库的管理应用相关参考文献资料-免费论文范文...
  2. 十周年再发重磅新品,小米发布50倍潜望式变焦小米10青春版、MIUI 12
  3. JAVA-day01
  4. 遗传算法(Python) #5 用DEAP框架解决OneMax问题
  5. ubuntu18.04.5+cuda10.2+cudnn+anaconda3+pytorch1.7
  6. html下拉菜单自动收回,jquery使用hover触发下拉菜单如果为什么有空隙就自动收回?...
  7. 论文笔记-基于BiLSTM 模型的漏洞检测
  8. 为什么DC不会将对应的DFF换成scan DFF 的原因
  9. php 数组转二进制,php转16进制_php 十六进制转化为二进制的代码
  10. 收藏:信息安全相关的认证有哪些?有没有必要考?