目录

  • 一、实验内容
  • 二、爬虫定义与分类
  • 三、爬取过程
  • 四、参考

一、实验内容

将重庆交通大学新闻网站中近几年所有的信息通知http://news.cqjtu.edu.cn/xxtz.htm的发布日期和标题全部爬取下来,并写到CSV电子表格中。

二、爬虫定义与分类

网络爬虫,通过一定的规则策略,自动抓取、下载互联网上网页,在按照某些规则算法对这些网页进行数据抽取,形成所需要的数据集。

按照抓取网站对象来分类,可以分为2类爬虫。

通用爬虫:类似百度、谷歌这样的爬虫,抓取对象是整个互联网,对于网页没有固定的抽取规则。 对于所有网页都是一套通用的处理方法。

垂直爬虫:这类爬虫主要针对一些特定对象、网站,有一台指定的爬取路径、数据抽取规则。比如今日头条,它的目标网站就是所有的新闻类网站。 比如Etao比价、网易的慧慧购物助手,他们的目标网站就是 淘宝、京东、天猫等等电商网站。

通用爬虫和垂直爬虫显著的区别:

抓取范围,通用爬虫的抓取范围要比垂直爬虫大得多,一个是整个互联网,一个是指定的网站。

爬取路线,通用爬虫要不按照深度爬取、要不是按广度爬取。 而垂直爬虫则可能是按照指定路线爬取。

数据处理,通用爬虫一般就是分词、索引到数据库。 而垂直爬虫则通过特定的规则来抽取更加精细的数据 。

关于行业内的网络爬虫,经过除部分分析,基本以垂直爬虫需求为主,比如通过垂直电商平台获取国内和国际的商品价格等场景。

三、爬取过程

  1. 导入需要的包
  • BeautifulSoup4
  • tqdm
  • 等等
  1. 代码:
# 爬取重庆交通大学新闻网站
# 时间:2021.11.14
# 作者:伊木子曦# import requests
from bs4 import BeautifulSoup
import csv
from tqdm import tqdm
import urllib.request, urllib.error  # 制定URL 获取网页数据
# 模拟浏览器访问
Headers = {  # 模拟浏览器头部信息"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 ""(KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 ""QQBrowser/10.5.3863.400"
}# 表头
csvHeaders = ['时间','标题']# 题目数据
subjects = []# 爬取题目
print('信息爬取中:\n')
for pages in tqdm(range(1, 55 + 1)):# 自行设置爬取的页数request = urllib.request.Request(f'http://news.cqjtu.edu.cn/xxtz/{pages}.htm', headers=Headers)html = ""try:response = urllib.request.urlopen(request)html = response.read().decode("utf-8")   # 设置编码# print(html)except urllib.error.URLError as e:if hasattr(e, "code"):print(e.code)if hasattr(e, "reason"):print(e.reason)soup = BeautifulSoup(html, 'html5lib')div_time = soup.find_all('div', class_="time")  # 获取消息时间title = soup.find_all('div',class_="right-title") #先获取包裹消息内容的div标签class=right-title的所以内容subject = []for d in div_time:for t in title:for t in t.find_all('a',target="_blank"): # 获取消息div标签class=right-title的内容含a标签且target="_blank"if t.string is not None:              # 判断满足以上所以条件的title不为空if d.string is not None:          # 判断满足以上所以条件的time不为空subject.append(d.string)      # 先将time放入subjectsubject.append(t.string)      # 再将title放入subject#if len(subject) == 2:subjects.append(subject)      # 再将整条time,及title放入subjectsprint(subject)subject = []# 存放内容
with open('./file/CQJTU_news.csv', 'w', newline='') as file:fileWriter = csv.writer(file)fileWriter.writerow(csvHeaders)  # 写入表头fileWriter.writerows(subjects)   # 写入数据print('\n题目信息爬取完成!!!')
  1. 查看网页源代码

    发现时间在div中且class="time” 为唯一,可直接通过
div_time = soup.find_all('div', class_="time")  # 获取消息时间

获得,title的内容获取稍微麻烦点,

因为是div标签且class=class_=“right-title"不只是我们需要的标签是这样,而a标签且target=”_blank"也是一样,所以还需要增加条件(即增大范围),再缩小范围

title = soup.find_all('div',class_="right-title") #先获取包裹消息内容的div标签class=right-title的所以内容
t.find_all('a',target="_blank")
  1. 运行获取数据

四、参考

https://www.jianshu.com/p/189eed6a14fd

爬取重庆交通大学新闻网站信息通知(爬虫)相关推荐

  1. python爬取58同城租房信息_python爬虫:找房助手V1.0-爬取58同城租房信息(示例代码)...

    #!/usr/bin/python # -*- encoding:utf-8 -*-importrequests frombs4 importBeautifulSoup frommultiproces ...

  2. python爬取物流信息_快递信息查询爬虫 python实现

    import json,requests #输入运单号码,注意,只有正在途中的快递才可以查到! packageNum = input('请输入运单号码:') url1 = 'http://www.ku ...

  3. Python爬虫入门 | 4 爬取豆瓣TOP250图书信息

      先来看看页面长啥样的:https://book.douban.com/top250   我们将要爬取哪些信息:书名.链接.评分.一句话评价--   1. 爬取单个信息 我们先来尝试爬取书名,利用之 ...

  4. (转)python爬虫实例——爬取智联招聘信息

    受友人所托,写了一个爬取智联招聘信息的爬虫,与大家分享. 本文将介绍如何实现该爬虫. 目录 网页分析 实现代码分析 结果 总结 github代码地址 网页分析 以https://xiaoyuan.zh ...

  5. python爬虫实例——爬取智联招聘信息

    受友人所托,写了一个爬取智联招聘信息的爬虫,与大家分享. 本文将介绍如何实现该爬虫. 目录 网页分析 实现代码分析 结果 总结 github代码地址 网页分析 以https://xiaoyuan.zh ...

  6. python爬虫爬取房源_python爬虫爬取安居客房源信息

    Xpath插件的安装 链接:https://pan.baidu.com/s/1T3V11Ev8dPODa2fCRbeuCg 提取码:qvzf 将这个安装包解压缩 打开谷歌浏览器的扩展程序 ----&g ...

  7. python爬虫爬取安居客房源信息

    爬取安居客房源信息 Xpath插件的安装 爬取重庆花溪附近的房源信息(进入正题啦~) 梳理下逻辑 爬取数据的通用流程 代码 代码的问题 & 运行时可能出现的问题 结果 数据处理部分(写给我自己 ...

  8. python爬虫代码1000行-几行Python代码爬取3000+上市公司的信息

    几行Python代码爬取3000+上市公司的信息 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: 几行Python代码爬取3000+上市公司的信息.txt ] (友情提示:右键 ...

  9. [python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

    这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对 ...

最新文章

  1. 《机器学习实践应用》书中源代码
  2. Java-利用Spring提供的Resource/ResourceLoader接口操作资源文件
  3. Java 必看的 Spring 知识汇总!
  4. 【物理动图】物理老师一针见血:50张动图看懂高中物理
  5. linux 查看进程_Linux怎么查看和监控每个进程的实时流量
  6. IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
  7. Set集合框架(HashSet and TreeSet)
  8. 使用spark-shell从本地读取文件不成功的的操作。
  9. Sublime Text下载使用
  10. psftp 上传和下载
  11. 在RHEL6上针对rm命令做审计
  12. 第一期:GIS基本原理与arcgis软件
  13. 认识DTU什么是4GDTU设备
  14. 快速隐藏/取消隐藏工作表
  15. sb3转换html,scratch3程序如何转成HTML和制作成exe文件转换心得(小白篇)!
  16. Yapi接口平台个人总结
  17. Vue实现轮播的方法
  18. .NET中那些所谓的新语法之二:匿名类、匿名方法与扩展方法
  19. C#使用CLE调用python
  20. c#字符串全角转半角

热门文章

  1. 农行上海研发中心实习面经
  2. 【uCOS】uCOS-ii系统启动与时钟
  3. 2023 Chatgpt易语言源码
  4. 3D制图软件中怎么进行定制化设计?
  5. 黑客常用端口利用总结
  6. VC 类泡泡龙游戏算法
  7. 微视更新达人计划 ,补贴大幅下降引起公会达人强烈反弹[联络易]
  8. 10月31日学习总结
  9. 笔记本光驱位换SSD固态硬盘之Ghost克隆原来的系统到SSD固态硬盘分区
  10. 个人简历表-Word简历可编辑下载