新浪新闻按关键字抓取实例

import urllib2

import requests

#import MySQLdb

import webbrowser

import string

import re

from BeautifulSoup import BeautifulSoup

def getHtml(page):#获取网址内容

page=str(page)

html=requests.get("http://search.sina.com.cn/?q=%BD%F0%D0%E3%CF%CD&range=all&c=news&sort=time&page="+page).text

return html

def getPage():#获得网页总数

html=requests.get("http://search.sina.com.cn/?range=all&c=news&q=%BD%F0%D0%E3%CF%CD&from=home").text   #网址

soup=BeautifulSoup(‘‘.join(html))

a=soup(‘div‘,{ ‘class‘ : ‘l_v2‘ })

race=[]

c=""

race=str(a).split("新闻")[1].split("篇")[0].split(",")   #获取网址有多少页码

b=len(race)

for i in range(b):

c+=race[i]

b=string.atoi(c)/20

return b

def getContents(html):#获取指定新闻内容

soup=BeautifulSoup(‘‘.join(html))

rs=re.compile("fgray_time")

html=soup.findAll(‘span‘,attrs={‘class‘:rs})

rs=re.compile("box-result clearfix")

contents=soup.findAll(‘div‘,attrs={‘class‘:rs})

for c in html:

length=len(c.text.split(‘ ‘))

if length==3:

source=c.text.split(‘ ‘)[0]#新闻来源

time=c.text.split(‘ ‘)[1]+‘ ‘+c.text.split(‘ ‘)[2]#新闻发表时间

print source

print time

else:

time=c.text#新闻发表时间

source=‘‘#新闻来源

print time

for i in contents:

title= i.h2.a.text#新闻标题

content= i.p.text#新闻简介内容

##    print html

if __name__=="__main__":

count=getPage()

print 111

for i in range(count):

print getContents(getHtml(i))

print 222

时间: 2024-10-10 02:43:50

新浪新闻按关键字抓取实例的相关文章

新浪新闻按keyword抓取实例

import urllib2 import requests #import MySQLdb import webbrowser import string import re from BeautifulSoup import BeautifulSoup def getHtml(page):#获取网址内容 page=str(page) html=requests.get("http://search.sina.com.cn/?q=%BD%F0%D0%E3%CF%CD&range=all

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

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

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

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

python爬虫:抓取新浪新闻内容(从当前时间到之前某个时间段),并用jieba分词,用于训练自己的分词模型

新浪新闻内容采用的是ajax动态显示内容,通过抓包,发现如下规律: 每次请求下一页,js那一栏都会出现新的url: "http://api.roll.news.sina.com.cn/zt_list?channel=news&cat_1=gnxw&cat_2==gdxw1" "||=gatxw||=zs-pl||=mtjj&level==1||=2&show_ext=1&show_all=1&show_num=22&ta

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

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

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

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

网易新闻页面信息抓取 -- htmlagilitypack搭配scrapysharp

最近在弄网页爬虫这方面的,上网看到关于htmlagilitypack搭配scrapysharp的文章,于是决定试一试~ 于是到https://www.nuget.org/packages/ScrapySharp去看看, 看到这句下载提示:To install ScrapySharp, run the following command in the Package Manager Console PM> Install-Package ScrapySharp 接下去我就去找package man

小爬新浪新闻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 =

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

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