Python爬虫实战 | (14) 爬取人民网滚动新闻

在本篇博客中,我们将使用selenium爬取人民网新闻中滚动页面的所有新闻内容,包括题目、时间、来源、正文,并存入MongoDB数据库。网址:http://news.people.com.cn/

打开后,发现这里都是一些滚动新闻,每隔一段时间就会刷新:

我们右键查看网页源代码,发现并没有当前页面的信息:

在源码页面搜索当前第一条新闻,并没有找到。

右键检查:

发现有当前页面的信息。说明当前页面是动态页面,即通过javascript渲染后得到的。因此,通过requests请求,是无法得到页面信息的,它得到的是网页最原始的代码,和右键查看网页源代码得到的是一致的。所以,我们需要使用selenium,模拟浏览器运行,来处理动态页面,从而爬取新闻信息。

程序主体框架如下:

import re
import pymongo
import time
import requests
from requests import RequestException
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from bs4 import BeautifulSoup

def get_response(url):
    #发送请求、获取响应
    pass

def get_news(url):
    #获取新闻详细信息
    pass

def get_page_news():
    # 获取当前页面新闻url
    pass



if __name__ == '__main__':
    #连接mongodb
    client = pymongo.MongoClient('mongodb://localhost:27017')
    #选择数据库
    db = client.News
    #选择集合
    news_col = db.peopleRollNews
    #打开浏览器
    browser = webdriver.Chrome()
    browser.implicitly_wait(10)
    #打开网址
    browser.get('http://news.people.com.cn/')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值