爬取校园新闻首页的新闻

1. 用requests库和BeautifulSoup库,爬取校园新闻首页新闻的标题、链接、正文。

import requests  
from bs4 import BeautifulSoup url = requests.get("http://news.gzcc.cn/html/xiaoyuanxinwen/")url.encoding = "utf-8"
soup = BeautifulSoup(url.text,'html.parser')#print(soup.head.title.text)
for news in soup.select('li'):if len(news.select('.news-list-title'))>0:#print(news.select('.news-list-title'))                          #print(news.select('.news-list-title')[0])      #print(news.select('.news-list-title')[0].text) time = news.select('.news-list-info')[0].contents[0].text title = news.select('.news-list-title')[0].text           href = news.select('a')[0]['href']                     href_text = requests.get(href)                            href_text.encoding = "utf-8"href_soup = BeautifulSoup(href_text.text,'html.parser')href_text_body = href_soup.select('.show-content')[0].textprint(time,title,href,href_text_body)     

  2. 分析字符串,获取每篇新闻的发布时间,作者,来源,摄影等信息。

# print(news)
def analyseNewsArticle(href):print('**' * 5 + '详情页信息' + '**' * 10)res1 = requests.get(href)res1.encoding = 'UTF-8'soup1 = BeautifulSoup(res1.text, 'html.parser')news_info = soup1.select('.show-info')[0].textinfo_list = ['来源', '发布时间', '点击', '作者', '审核', '摄影']  # 需要解析的字段news_info_set = set(news_info.split('\xa0')) - {' ', ''}  # 网页中的 获取后会解析成\xa0,所以可以使用\xa0作为分隔符# 循环打印文章信息for n_i in news_info_set:for info_flag in info_list:if n_i.find(info_flag) != -1:  # 因为时间的冒号采用了英文符所以要进行判断if info_flag == '发布时间':print(info_flag + ':' + n_i[n_i.index(':') + 1:])elif info_flag == '点击':  # 点击次数是通过文章id访问php后使用js写入,所以这里单独处理click_num_url = 'http://oa.gzcc.cn/api.php?op=count&id={}&modelid=80'res2 = requests.get(click_num_url.format(href[href.rindex('/') + 1:href.index('.html')]))res2.encoding = 'UTF-8'print(info_flag + ':' + res2.text[res2.text.rindex("('") + 2:res2.text.rindex("')")])else:print(info_flag + ':' + n_i[n_i.index(':') + 1:])news_content = soup1.select('#content')[0].textprint(news_content)  # 文章内容print('————' * 40)for n in news:# print(n)print('**' * 5 + '列表页信息' + '**' * 10)print('新闻链接:' + n.a.attrs['href'])print('新闻标题:' + n.select('.news-list-title')[0].text)print('新闻描述:' + n.a.select('.news-list-description')[0].text)print('新闻时间:' + n.a.select('.news-list-info > span')[0].text)print('新闻来源:' + n.a.select('.news-list-info > span')[1].text)analyseNewsArticle(n.a.attrs['href'])

3. 将其中的发布时间由str转换成datetime类型。

form datetime import datetime, timedeltaimport timestart_date = datetime.strptime("2018-04-03", "%Y-%m-%d")  

  4. 将完整的代码及运行结果截图发布在作业上。

 

转载于:https://www.cnblogs.com/tyx123/p/8710871.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php服务划分,云计算提供的服务分为哪三个层次

三个层次:1、基础设施即服务(IaaS),向云计算提供商的个人或组织提供虚拟化计算资源;2、平台即服务(PaaS),为开发人员提供通过全球互联网构建应用程序和服务的平台;3、软件即服务((SaaS),通过互联网提供按需…

如何做个人职业规划和年度计划

在做规划的同时,已经结合工作和个人自身情况思考调整个人的职业规划以及2012年自己的学习成长计划。持续了大约2个月的时间,已经整理出了2012年自己的目标和计划。总结一下,制定个人规划大致分为几个步骤: 一、认识自己。主要包括…

centos 7 快速安装nginx

输入指令 vim /etc/yum.repos.d/nginx.repo 输入以下内容 [nginx] namenginx repo baseurlhttp://nginx.org/packages/centos/7/$basearch/ gpgcheck0 enabled1 wq 进行保存 验证是否安装成功 安装 yum install nginx 启动nginx服务 nginx 测试是否启动成功 在linux输入你的IP地…

matlab colorbar采用对数,matlab colorbar的使用 | 學步園

1:請問matlab中畫多張圖如何使用同一範圍的colorbar?例如生成了圖1,2,3生成圖1時,使用temp1caxis;將圖1的z值的取值範圍(即colorbar的取值範圍)取出。生成圖2,3時使用caxis(temp1)命令將圖2,3的z值的取值範圍設為同1相同。然後對各個同使用colorbar命令…

BFS简单搜索--POJ 2243

这题就是简单的BFS搜索&#xff0c;刚刚转到C&#xff0c;还有很多库函数不熟悉&#xff0c;理解到BFS是一种奇妙的迭代法&#xff0c;其用的主要是队列的性质。 1 /*BFS简单搜索*/ 2 #include<iostream> 3 #include<queue> 4 #include<cstring> 5 6 using …

python_cookies

1.将cookies保存到变量中&#xff0c;然后打印cookie中的值 #coding:utf-8 #将cookies保存到变量中&#xff0c;然后打印cookie中的值 import urllib2 import cookielib #声明一个CookieJar对象实例保存cookie cookiecookielib.CookieJar() #利用urllib2库中的HTTPCookieProces…

php拖拽原理,JS拖拽效果及原理解析

这篇文章主要介绍了如何实现js拖拽效果及原理解析,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下元素拖拽分成3个步骤&#xff1a;按下鼠标&#xff0c;移动鼠标&#xff0c;松开鼠标。拖拽原理&#xff1a;按下…

jqGrid细节备注—pager文字的设置,更改默认的提交方式

默认的pager显示的文字&#xff0c;在英文版本下是如下 (file grid.locale-en.js): $.jgrid { defaults : { recordtext: "View {0} - {1} of {2}", emptyrecords: "No records to view", loadtext: "Loading...", pgtext : "Page {0} of …

浅谈拓扑排序

今天来讲讲拓扑排序 度娘告诉我 对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序&#xff0c;是将G中所有顶点排成一个线性序列&#xff0c;使得图中任意一对顶点u和v&#xff0c;若边(u,v)∈E(G)&#xff0c;则u在线性序列中出现在v之前。通常&#xff0c;这样…

iOS开发笔记[18/50]:在Mac OS X Lion系统中访问~/Library目录都需要点技巧

Mac虚拟机升级为Lion系统了&#xff0c;在iPhone模拟机调试时经常想访问应用程序的Document目录看看里面发生的状况&#xff0c;但在Lion系统中却找不到~/Library/Application Support/iPhone Simulator文件夹了。原来需要在Finder中这个~/Library文件夹默认是隐藏的&#xff0…

makemid+matlab,《MATLAB基础》双语课

MATLAB双语教学视频第17讲MATLAB双语教学视频第18讲Summarizing DataIn this section...“Overview” on page 5-10“Measures of Location” on page 5-10“Measures of Scale” on page 5-11“Shape of a Distribution” on page 5-11OverviewMany MATLAB functions enable y…

素数对猜想之python3实现

题目 让我们定义d​n​​为&#xff1a;d​n​​p​n1​​−p​n​​&#xff0c;其中p​i​​是第i个素数。显然有d​1​​1&#xff0c;且对于n>1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(<)&#xff0c;请计算不超…

java 获取六个月账期,应收帐龄分析里面账期分析能不能改为0-30天?

怎样安装摄像头的驱动程序怎样安装摄像头的驱动程序注意&#xff1a;请不要在未安装摄像头的驱动程序前将PC摄像头插入计算机USB接口中&#xff1b;如果在没有安装驱动程序的情况下提前插上摄像头&#xff0c;当WINDOWS提示安装驱动程序时&#xff0c;请点击取消键并将其拨出&a…

ribbon源码(1) 概述

ribbon的核心功能是提供客户端在进行网络请求时负载均衡的能力。主要有以下几个模块&#xff1a; 负载均衡器模块 负载均衡器模块提供了负载均衡能力&#xff0c;详细参见ribbon源码之负载均衡器。 配置模块 配置模块管理ribbon的配置信息&#xff0c;ribbon各个模块都通过配置…

Linux软件安装解决方案

Linux软件安装解决方案 在linux中安装软件是一件并不算轻松的工作&#xff0c;有很多中解决方案供你选择&#xff0c;但需要的是你的一点点耐心与智慧&#xff01;下面我将就Linux中最常见的安装方式&#xff0c;由浅入深的逐一做简单介绍与说明&#xff0c;希望可以给您带来帮…

php获取页面的可视内容高度,网页制作技巧:获取页面可视区域的高度_css

文章简介&#xff1a;获取页面可视区域高度&#xff0c;获取页面高度&#xff0c;获取滚动条滚动上去的页面高度.function getWH(){ var wh {}; "Height Width".replace(/[^/s]/g,function(a){ var b a.toLowerCase(); wh[b]window["inner".concat(a)] d…

axios和ajax的区别

Axios和Ajax都是用于在Web应用程序中发送HTTP请求的技术&#xff0c;但它们之间存在一些重要的差异。 环境适用性&#xff1a;Axios可以在浏览器和Node.js环境中使用&#xff0c;而Ajax最初是为了在浏览器中创建交互式网页而设计的。易用性&#xff1a;Axios基于Promise&#…

矩阵学习摘记,欢迎指正

矩阵乘法学习摘记 ​ ——JZYshuraK 18.4.8 http://www.matrix67.com/blog/archives/276 例题1 ​ 为什么一定要将本来只有两维的点设为一个\(1\cdot 3​\)矩阵&#xff0c;原因在于&#xff0c;我们在处理所有操作时&#xff0c;必须使得每一个操作矩阵都是正方形(显然)&#…

安装与配置-以前的某个程序安装已在安装计算机上创建挂起的文件操作......

今日在Windows XP SP2的计算机上&#xff0c;安装SQL Server 2000 Standard Edition&#xff0c;安装不上&#xff0c;错误信息如下&#xff1a; 文字描述为&#xff1a; 以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机。 解决方法…

拦截器和过滤器的区别

一、拦截器基于 java 的反射机制&#xff0c;过滤器是基于函数回调的。 二、过滤器依赖于 servlet 容器&#xff0c;拦截器不依赖 servlet 容器。 三、拦截器只对 Action 起作用&#xff0c; 过滤器对所有请求都起左右 四、拦截器可以访问 Action 的上下文 和 值栈里面的对象&a…