小爬新浪新闻AFCCL

1.任务目标:

爬取新浪新闻AFCCL的文章:文章标题、时间、来源、内容、评论数等信息。

2.目标网页:

http://sports.sina.com.cn/z/AFCCL/

3.网页分析

4.源代码:

#!/usr/bin/env/python
# coding:utf-8
import sys
import requests
from bs4 import BeautifulSoup
import json
import re
if __name__ == ‘__main__‘:
	url = ‘http://sports.sina.com.cn/z/AFCCL/‘
	res = requests.get(url)
	html_doc = res.content

	soup = BeautifulSoup(html_doc, ‘html.parser‘)

	a_list=[]
	#爬取新闻时间,标题,链接
	for news in  soup.select(‘.news-item‘):
		if(len(news.select(‘h2‘))>0):
			h2=news.select(‘h2‘)[0].text
			a=news.select(‘a‘)[0][‘href‘]
			time=news.select(‘.time‘)[0].text
			# print(time,h2,a)
			a_list.append(a)
	#爬取内文资料
	for i in range(len(a_list)):
		url=a_list[i]
		res = requests.get(url)
		html_doc = res.content
		soup = BeautifulSoup(html_doc, ‘html.parser‘)
		#获取文章标题、时间、来源、内容,评论数
		title=soup.select(‘#j_title‘)
		if title:
			title = soup.select(‘#j_title‘)[0].text.strip()
			time = soup.select(‘.article-a__time‘)[0].text.strip()
			source = soup.select(‘.article-a__source‘)[0].text.strip()
			content = soup.select(‘.article-a__content‘)[0].text.strip()
			#动态生成获取评论的Ajax url eg:‘http://comment5.news.sina.com.cn/page/info?version=1&format=js&channel=ty&newsid=comos-fykiuaz1429964&group=&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=20&jsvar=loader_1504416797470_64712661‘
			# print(url)
			pattern_id=r‘(fyk\w*).s?html‘
			# print(re.search(pattern_id,url).group(1))
			id=re.search(pattern_id,url).group(1)
			url=‘http://comment5.news.sina.com.cn/page/info?version=1&format=js&channel=ty&newsid=comos-‘+id+‘&group=&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=20‘
			comments = requests.get(url)
			jd=json.loads(comments.text.strip(‘var data=‘))
			commentCount = jd[‘result‘][‘count‘][‘total‘] # 评论数
			print(time,title,source,content)
			print(commentCount)

5.运行结果:

6.小结:

对于一次请求获得的资源爬取是比较顺利的,对于异步请求的资源需要查看检查器,寻找资源所在请求,正对性的爬取。

eg:“评论及评论数”的爬取。

时间: 2024-10-13 03:35:58

小爬新浪新闻AFCCL的相关文章

Python_网络爬虫(新浪新闻抓取)

爬取前的准备: BeautifulSoup的导入:pip install BeautifulSoup4 requests的导入:pip install requests 下载jupyter notebook:pip install jupyter notebook 下载python,配置环境(可使用anocanda,里面提供了很多python模块) json 定义 :是一种格式,用于数据交换. Javascript 对象 定义 : 一种javascript的引用类型 中文格式除了' utf-8

门户级UGC系统的技术进化路线——新浪新闻评论系统的架构演进和经验总结(转)

add by zhj:先收藏了 摘要:评论系统是所有门户网站的核心标准服务组件之一.本文作者曾负责新浪网评论系统多年,这套系统不仅服务于门户新闻业务,还包括调查.投票等产品,经历了从单机到多机再到集群,从简单到复杂再回归简单的过程. 评论系统,或者称为跟帖.留言板,是所有门户网站的核心标准服务组件之一.与论坛.博客等其他互联网UGC系统相比,评论系统虽然从产品功能角度衡量相对简单,但因为需要能够在突发热点新闻事件时,在没有任何预警和准备的前提下支撑住短短几分钟内上百倍甚至更高的访问量暴涨,而评论

新浪新闻下载|新浪新闻app手机版下载

新浪新闻客是一款我用个最好的资讯软件了,软件是由新浪官方出品的,软件可以第一时间获取全球新闻资讯,国内国外要闻,精彩的体育赛事报道,金融财经动向,影视娱乐事件,在软件中还拥有独家微博"微"新闻,精彩随你看,新闻.星座.笑话一个都不少.新浪新闻下载链接应用简介新浪新闻是一款提供新闻阅读的手机应用,用户可以在新浪新闻上看最新的新闻,还有看自己喜欢的内容,新浪新闻手机版不仅有国内和国外的最新的资讯报道,还有体育的,金融的,娱乐新闻等等满足不同用户的不同阅的读需求.有这么好的手机新闻软件还不快

机器学习实战教程(五):朴素贝叶斯实战篇之新浪新闻分类

原文链接: Jack-Cui,https://cuijiahua.com/blog/2017/11/ml_5_bayes_2.html 一.前言 上篇文章机器学习实战教程(四):朴素贝叶斯基础篇之言论过滤器讲解了朴素贝叶斯的基础知识.本篇文章将在此基础上进行扩展,你将看到以下内容: 拉普拉斯平滑 垃圾邮件过滤(Python3) 新浪新闻分类(sklearn) 二.朴素贝叶斯改进之拉普拉斯平滑 上篇文章提到过,算法存在一定的问题,需要进行改进.那么需要改进的地方在哪里呢?利用贝叶斯分类器对文档进行

前嗅ForeSpider教程:采集新浪新闻

最近后台有很多童鞋问怎么采集新闻,今天小编以采集新浪新闻为例,来为大家进行演示,同样适用于其他新闻网站的采集,具体操作如下: ? 第一步:新建任务 ①点击左上角"加号"新建任务,如图1:?②在弹窗里填写采集地址,任务名称,如图2:③点击下一步,选择进行数据抽取还是链接抽取,本次采集当前列表页新闻的正文数据,正文数据是通过点击列表链接进入的,所以本次需要抽取列表链接,所以点击抽取链接,如图3:第二步:通过定位过滤.地址过滤,得到所需链接 ①按住Ctrl+鼠标左键,进行区域选择,按住Shi

朴素贝叶斯应用-机器学习-新浪新闻分类器

朴素贝叶斯应用-机器学习-新浪新闻分类器 本文代码及数据均来自于https://cuijiahua.com/blog/2017/11/ml_5_bayes_2.html 这个例子比较有实践意义,不仅使用了jieba.sklearn,并且其中用到的思想也是很实用的. jieba "结巴"中文分词:做最好的Python中文分词组件 "Jieba" jieba有三种分词模式:全模式.精确模式和搜索引擎模式 示例: #encoding=utf-8 import jieba

Fragment+TabHost模仿新浪新闻布局界面

Fragment+TabHost模仿新浪新闻布局界面 支持平台:Android   运行环境:Eclipse   开发语言:Java 下载地址:http://sina.lt/yZe 源码简介 采用FragmentTabHost的综合布局实现的新浪新闻的效果. 源码运行截图  

Android仿新浪新闻SlidingMenu界面的实现 .

先看看原图: 如图所示,这种侧滑效果以另一种方式替代了原先tab导航的那种用户体验方式 给人耳目一新的感觉,现已被广大知名应用所效仿,如新浪新闻,网易新闻,人人网等 那么这种效果该如何实现呢?那就需要用到一个开源库SlidingMenu Github地址:https://github.com/jfeinstein10/SlidingMenu 里面包含了demo示例,相关效果图如下: 同时该库又依赖另一个开源库ActionBarSherkLock ,有关该库的介绍,请看此博文http://blog

Python爬虫:新浪新闻详情页的数据抓取(函数版)

上一篇文章<Python爬虫:抓取新浪新闻数据>详细解说了如何抓取新浪新闻详情页的相关数据,但代码的构建不利于后续扩展,每次抓取新的详情页时都需要重新写一遍,因此,我们需要将其整理成函数,方便直接调用. 详情页抓取的6个数据:新闻标题.评论数.时间.来源.正文.责任编辑. 首先,我们先将评论数整理成函数形式表示: 1 import requests 2 import json 3 import re 4 5 comments_url = 'http://comment5.news.sina.c