Webdriver 爬取新浪滚动新闻

本文介绍了作者作为信息管理与信息系统专业的学生,如何使用Python的Selenium库(WebDriver)爬取新浪滚动新闻。通过介绍环境要求、所需安装包、文件结构和主要代码,展示了爬取过程。尽管存在一些小问题,如新闻标题含有特殊字符可能导致错误,但整体上实现了爬取和存储新闻内容的目标。
摘要由CSDN通过智能技术生成

Webdriver 爬取新浪滚动新闻

初始想法

本人现在是国际关系学院2016级的本科生,学的是信息管理与信息系统。讲道理不知道这个专业到底是干啥的,现在选择的后续方向是数据科学与工程,并且在老师的自然语言处理小组。爬虫是做自然语言处理的基础嘛,学习机器学习之前先学学怎么爬取内容还是挺有意义的。本来开始想着爬一下新浪微博的内容,但是又涉及到滚动爬取,账号登陆之类的繁琐问题,还是先玩玩滚动新闻吧。其实讲道理中国新闻网的滚动新闻做的比新浪的好多了,界面也好看,不过这都是爬完之后才发现的哈哈哈哈哈哈哈

背景介绍

本项目为基于新浪滚动新闻(https://news.sina.com.cn/roll/#pageid=153&lid=2509&k=&num=50&page=1)进行网页爬取,以新闻标题为文件名称,以新闻内容为文件正文存储。

内容介绍

环境要求

  • 环境要求:python3.7+
  • 安装包要求:time,requests,random,Beautifulsoup,selenium等

文件介绍

  • main:调取其他所有文件相关函数,输入初始url,并计算爬取全部网页耗时
  • date_helper:对网页日期进行调整实现自动翻页
  • data_helper:对数据的所有路径进行调整
  • spider:爬取网页的主文件,调用Webdriver获取主索引页的子页面并获取网页内容
  • article_spider:爬取新闻正文内容

代码

main

from date_helper import date_processing
from data_helper import pickle_writer
from spider import *
import time

start = time.clock()
if __name__ == '__main__':
    url_org = 'http://roll.news.sina.com.cn/s/channel.php?ch=01#col=89&spec=&type=&date={}&ch=01&k=&offset_page=0&offset_num=0&num=60&asc=&page='
    while True:
        date = date_processing()  # 获取日期
        output_list = []          # 存放输出序列 list
        url = url_org.format(date) # 生成待爬取URL
        sina(url,output_list,date) # 爬虫
        print(output_list)
        print(len(output_list))
        file_name = ''.format(date)
        pickle_writer(output_list, file_name)  # 写入临时文件存放
end = time.clock()
print('Running:%s seconds.'%(end - start))

date_helper

from selenium import webdriver
import re
import time
import calendar
import re
import codecs
from data_helper import *

def count_days(year, month):
    cal = calendar.monthrange(year, month)
    pattern = re.compile(r'\d+')
    days = pattern.findall(str(cal))[1]
    return days

def month_sub(year,month):
    if month > 10:
        month -= 1
        month = str(month)
    elif month <= 10 and month > 1 :
        month -= 1
        month &#
新浪新闻采集程序天宇版 更新日志: v1.2 1、修复首页及文章页错误! 新浪滚动新闻采集程序天宇版简介 新浪新闻采集程序天宇版采用php进行开发,能自动对新浪新闻进行采集。 占用空间小,建站成本低,无需等待,马上就可以拥有海量网站数据; 免更新免维护,管理方便,操作简单,实现全站后台管理的全自动采集; 实现内容页URL路径伪静态功能,让各大搜索引擎收录更加友好; 新浪滚动新闻采集程序天宇版功能介绍: 1.关键词内链 VIP 2.内容过滤 VIP 3.伪原创词汇 VIP 4.模板独立化(支持自己编写模板) 5.支持自定义路径伪静态(更好的搜索引擎亲和力)【无组件支持伪静态】 6.增加强大的缓存功能(极大降低UPU资源占用率) 7.增加蜘蛛访问记录(实时查看各大搜素引擎蜘蛛对网站爬行动态) 8.增加畅言评论功能 9.增加手机版VIP(自动识别手机与PC机访问切换) 10.自动采集百度搜索相关关键词(非常利于SEO) 后台登录admin/ 账号密码都为admin 上传后请及时更改后台登录路径(给admin文件夹重命名) 后续更新敬请期待。。。 广告不是一成不变的客户也可以自主在模板里直接添加广告代码 模板位置:/templets/default/ 带m的为手机版模板 新浪滚动新闻采集程序天宇版前台页面 新浪滚动新闻采集程序天宇版后台管理 后台登录admin/ 账号密码都为admin 后台页面 相关阅读 同类推荐:站长常用源码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值