Web信息处理

爬虫的基本原理以及使用的基本方法(如果使用框架,简述参数和各项module的功能)

由于本学院官网上的教师资料信息较为简单,本次作业的信息爬取使用Python的Requests库完成。

使用的基本方法:

首先需要设置一个headers,虽然学校官网没有反爬虫措施,但是还是要做好基本参数的设置。

headers={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/90.0.4430.212Safari/537.36Edg/90.0.818.66',}

然后就是使用requests库进行信息的提取了

data=requests.get(url1,headers=headers)
data.encoding='utf-8'
baseInfo=data.text

实现的简单流程:包括爬虫工具的使用、数据库设计、xpath/css路径匹配等等;

以一个老师的信息框架为例

<div class="teacher-left"><img class="teacher-img" src="/__local/A/F6/48/BF5B51E0276CAE514B0C31EDDD5_2952AE48_AFC4.png"><p class="teacher-name">徐增林</p>
</div>
<div class="teacher-box"><dl><dt>任职:</dt><dd>国家青年特聘专家、计算机学院教授/博导</dd></dl><dl><dt>电话:</dt><dd> </dd></dl>
<dl><dt>传真:</dt><dd> </dd></dl><dl><dt>Email:</dt><dd><a href="mailto:xuzenglin@hit.edu.cn">xuzenglin@hit.edu.cn</a></dd></dl><dl><dt>研究方向:</dt><dd>致力于解决涉及现代大数据分析的关键建模和计算的挑战,实现复杂系统在自然语言处理,计算机视觉,社会计算,网络空间安全,生物信息学和生物医学应用等领域的研究。为此研究由各种应用驱动的稀疏、关系、动态、深度学习模型,并为这些模型开发精确、高效和可扩展的算法。</dd></dl><a href="../info/1021/2300.htm" class="teacher-link">查看简历</a>
</div>

可以看到所有老师的信息开头都有

,因此可以以此为依据判断这一段代码是不是老师的信息。

判断出老师的信息后,还需要从中提取出老师信息中的各个字段,这里使用re库正则匹配就可以了。

 teacherInfo1 = re.findall(r'<div class="teacher-left">',baseInfo1)teacherName1 = re.findall(r'<p class="teacher-name">(.*?)</p>', baseInfo1)teacherTitle1 = re.findall(r'<dt>任职:</dt><dd>(.*?)</dd>', baseInfo1)teacherTelephone1 = re.findall(r'<dt>电话:</dt><dd> (.*?)</dd>', baseInfo1)teacherFax1 = re.findall(r'<dt>传真:</dt><dd> (.*?)</dd>', baseInfo1)teacherEmail1 = re.findall(r'<dt>Email:</dt><dd><a href="mailto:(.*?)">', baseInfo1)teacherField1 = re.findall(r'<dt>研究方向:</dt><dd>(.*?)</dd>', baseInfo1)

之后将数据存到MySQL中就完成该实验了。

for j in range(0,len(teacherInfo)):sql = 'insert into `teacher`(`name`,`title`,`telephone`,`fax`,`email`,`field`) values ("{}","{}","{}","{}","{}","{}")'.format(teacherName[j],teacherTitle[j],teacherTelephone[j],teacherFax[j],teacherEmail[j],teacherField[j])cursor.execute(sql)
db.commit()

数据库设计如下:

Python实现简单的web爬虫信息处理系统相关推荐

  1. Python实现简单的人脸打卡系统

    Python实现简单的人脸打卡系统 参考链接:https://blog.csdn.net/weixin_44451017/article/details/89086065?utm_medium=dis ...

  2. 利用 Python 实现简单的主题爬虫

    利用 Python 实现简单的主题爬虫   利用 Python 实现简单的主题爬虫,主要是通过对指定的 主题 和 网站 进行深度爬取,获取对应网页的标题和 url ,仅供学习参考. 爬取结果: 实验源 ...

  3. Python之简单的网页爬虫开发

    Python之简单的网页爬虫开发 文章目录 Python之简单的网页爬虫开发 下面简单介绍一下request: 简单介绍一下什么是第三方库: 结合requests与正则表达式 多线程爬虫 多进程库(m ...

  4. 用 Python 开发简单交互式 Web 应用

    今天分享一个让开发交互式 Web app 超级简单的工具.不会 HTML,CSS,JAVASCRIPT 也没事. 交互式 Web app 非常实用,比如说做一个问卷调查页面.一个投票系统.一个信息收集 ...

  5. python简单网络爬虫_【Python】简单的网络爬虫

    完整代码 # encoding:UTF-8 # from bs4 import BeautifulSoup import urlparse import urllib2 import re impor ...

  6. python 在线客服_如何利用Python实现简单全双工在线客服系统!这个有点东西!...

    在之前的一篇文章中: 为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统 ,详细介绍了websocket协议以及结合Django如何实现各种功能,本次 ...

  7. Python+Selenium简单实现Web自动化测试

    这篇文章是入门级别的应用Python + Selenium进行自动化测试,包括环境搭建及简单的实例.基本思想是用Firefox Selenium IDE插件录制脚本并生成Python代码,用Pytho ...

  8. python最简单的小爬虫

    网络爬虫: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模 ...

  9. Python之简单飞机行李托运计费系统

     要求: 设计简单的飞机行李托运计费系统.假设飞机上个人托运行李的条件是: 行李重量在20千克以下免费托运, 20-30千克超出部分5元/千克: 30-40千克超出部分10元/千克: 40-50千克超 ...

最新文章

  1. VMware虚拟机文件夹中各文件作用详解
  2. 2019-7-29 考试总结
  3. pytorch torch.item()(返回此张量的值作为标准Python数字。 这仅适用于具有一个元素的张量。)
  4. 重新组织函数--《重构》阅读笔记
  5. mysql的util_JDBC连接mysql工具类Util供大家参考
  6. (41)System Verilog输出变量时序延迟
  7. multipartfile file java 怎么获取里面的属性_「小程序JAVA实战」小程序的举报功能开发(68)...
  8. lsof 列出谁在使用某个端口
  9. linux下面实现执行rm命令,显示do not use rm command
  10. 《C语言程序设计基础I》秋季学习总结
  11. python xpath循环_Python爬虫 爬取北京二手房数据
  12. python计算器外壳模板
  13. 信息隐藏与数字水印实验4-LSB信息隐藏的卡方分析
  14. 如何破解好友QQ空间加密.查看最新日志
  15. mysql修改frm,MySQL 修改.frm文件来更新字段
  16. 我的自定义知乎首页及问题页的样子
  17. LibJpeg的安装与修复颜色错误图像错位保姆级教程
  18. VALSE 4月12日 下午 第一会场 深度学习模型设计 会议记录
  19. 深度学习中的 Batch_Size,以及learning rate参数理解(跑pytorch代码时遇到的问题)
  20. Numpy:zero()函数

热门文章

  1. Facade(外观模式) 结构型
  2. 软件设计模式学习(十四)外观模式
  3. Python数据类型之列表
  4. 使用virt-manager管理虚拟机
  5. LTSPICE仿真那些事
  6. “在XML文件中给代码加注释”请注意注释的位置
  7. 激光测距仪工作模式及维保——TFN BKD系列双目激光测距仪
  8. 国外工业互联网安全现状分析(政策;标准;厂商;产品)
  9. 缺页中断与页面置换算法
  10. HDU-6555 The Fool