Python 爬虫实例(7)—— 爬取 新浪军事新闻

时间:2022-03-04 00:06:59

我们打开新浪新闻,看到页面如下,首先去爬取一级 url,图片中蓝色圆圈部分

Python 爬虫实例(7)—— 爬取 新浪军事新闻

第二zh张图片,显示需要分页,

Python 爬虫实例(7)—— 爬取 新浪军事新闻

源代码:

# coding:utf-8

import json
import redis
import time
import requests
session = requests.session()
import logging.handlers
import pickle
import sys
import re
import datetime
from bs4 import BeautifulSoup import sys
reload(sys)
sys.setdefaultencoding('utf8') import datetime
# 生成一年的日期
def dateRange(start, end, step=1, format="%Y-%m-%d"):
strptime, strftime = datetime.datetime.strptime, datetime.datetime.strftime
days = (strptime(end, format) - strptime(start, format)).days
return [strftime(strptime(start, format) + datetime.timedelta(i), format) for i in xrange(0, days, step)] def spider(): date_list = dateRange("2017-01-01", "2018-01-06")[::-1]
print date_list
for date in date_list:
for page in range(1,5):
#组合url
url = "http://roll.mil.news.sina.com.cn/col/zgjq/" + str(date)+"_"+ str(page) +".shtml"
# 伪装请求头
headers = { "Host":"roll.mil.news.sina.com.cn", "Cache-Control":"max-age=0",
"Upgrade-Insecure-Requests":"",
"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36",
"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8", "Accept-Encoding":"gzip, deflate",
"Accept-Language":"zh-CN,zh;q=0.8",
"If-Modified-Since":"Sat, 06 Jan 2018 09:57:24 GMT", } result = session.get(url=url,headers=headers).content
#编码格式是 gb2312,使用BeautifulSoup解决编码格式
soup = BeautifulSoup(result,'html.parser')
#找到新闻列表
result_div = soup.find_all('div',attrs={"class":"fixList"})[0]
#去下换行
result_replace = str(result_div).replace('\n','').replace('\r','').replace('\t','')
#正则匹配信息
result_list = re.findall('<li>(.*?)</li>',result_replace) for i in result_list:
#匹配出来新闻 url, name,time news_url = re.findall('<a href="(.*?)" target=',i)[0]
news_name = re.findall('target="_blank">(.*?)</a>',i)[0]
news_time = re.findall('<span class="time">\((.*?)\)</span>',i)[0] print news_url
print news_name
print news_time spider()

Python 爬虫实例(7)—— 爬取 新浪军事新闻的更多相关文章

  1. Python爬虫实例:爬取猫眼电影——破解字体反爬

    字体反爬 字体反爬也就是自定义字体反爬,通过调用自定义的字体文件来渲染网页中的文字,而网页中的文字不再是文字,而是相应的字体编码,通过复制或者简单的采集是无法采集到编码后的文字内容的. 现在貌似不少网 ...

  2. Python爬虫实例:爬取B站《工作细胞》短评——异步加载信息的爬取

    很多网页的信息都是通过异步加载的,本文就举例讨论下此类网页的抓取. <工作细胞>最近比较火,bilibili 上目前的短评已经有17000多条. 先看分析下页面 右边 li 标签中的就是短 ...

  3. Python爬虫实例:爬取豆瓣Top250

    入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...

  4. python2&period;7 爬虫初体验爬取新浪国内新闻&lowbar;20161130

    python2.7 爬虫初学习 模块:BeautifulSoup requests 1.获取新浪国内新闻标题 2.获取新闻url 3.还没想好,想法是把第2步的url 获取到下载网页源代码 再去分析源 ...

  5. Python爬虫教程-17-ajax爬取实例(豆瓣电影)

    Python爬虫教程-17-ajax爬取实例(豆瓣电影) ajax: 简单的说,就是一段js代码,通过这段代码,可以让页面发送异步的请求,或者向服务器发送一个东西,即和服务器进行交互 对于ajax: ...

  6. &lbrack;python爬虫&rsqb; Selenium定向爬取虎扑篮球海量精美图片

    前言: 作为一名从小就看篮球的球迷,会经常逛虎扑篮球及湿乎乎等论坛,在论坛里面会存在很多精美图片,包括NBA球队.CBA明星.花边新闻.球鞋美女等等,如果一张张右键另存为的话真是手都点疼了.作为程序员 ...

  7. Python3:爬取新浪、网易、今日头条、UC四大网站新闻标题及内容

    Python3:爬取新浪.网易.今日头条.UC四大网站新闻标题及内容 以爬取相应网站的社会新闻内容为例: 一.新浪: 新浪网的新闻比较好爬取,我是用BeautifulSoup直接解析的,它并没有使用J ...

  8. 【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

    原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http:/ ...

  9. selenium&plus;BeautifulSoup&plus;phantomjs爬取新浪新闻

    一 下载phantomjs,把phantomjs.exe的文件路径加到环境变量中,也可以phantomjs.exe拷贝到一个已存在的环境变量路径中,比如我用的anaconda,我把phantomjs. ...

随机推荐

  1. dede文章调用时过滤调 body里面的style属性和值

    dede 发布文章的时候会在里面的标签中添加一些style 属性,现在改网站想去掉这些属性和里面的值,因为文章太多所以就用下面的方法 \include\arc.listview.class.php 在 ...

  2. 关于WebView的内存泄露问题

    在一个Activity中包含着一个WebView,通过WebView不停的访问Web页面,会发现内存会一直增长,退出此Activity,甚至杀死此Activity,内存依然没有被释放.这就导致,即使是 ...

  3. React-Native错误笔记-EPERM

    运行react-native run-android时出现错误 EPERM:operation not permitted,lstat .............. 解决办法:用Android Stu ...

  4. oracle传输表空间功能测试(含详细过程)

    最近做数据迁移,之前有一篇迁移思路思考的文章,这里继续做具体的测试,主题问表空间传输. 一.源服务器上导出表空间 源服务器:   10.1.122.55 目标服务器:10.1.122.54 0.设置字 ...

  5. Oracle表空间详解

    Oracle表空间详解 1.表空间的分类 Oracle数据库把表空间分为两类:系统表空间和非系统表空间. 1.1系统表空间指的是数据库系统创建时需要的表空间,这些表空间在数据库创建时自动创建,是每个数 ...

  6. 林业资源遥感航拍监测GIS系统

    航拍监测.遥感监测在林业有害生物(松材线虫病监测).森林防火监测.森林滥砍滥伐.林地侵占.林地违规开发监测等方面应用,将大大提升林业资源监测水平, 针对已有森林资源大量流失,滥砍滥伐现象普遍存在的事实 ...

  7. 【C&num;】list 去重(转载)

    Enumerable.Distinct 方法 是常用的LINQ扩展方法,属于System.Linq的Enumerable方法,可用于去除数组.集合中的重复元素,还可以自定义去重的规则. 有两个重载方法 ...

  8. 基于redis的 分布式锁 Java实现

    package com.hs.services.lock; import java.util.concurrent.TimeUnit; import javax.annotation.Resource ...

  9. 递归打印目录层次&lpar;java版)

    import java.io.File; public class Test { /** * * @param fileDir 根目录 * @param num 递归层次 */ private sta ...

  10. tensorflow&lowbar;python中文手册

    https://www.tensorflow.org/api_docs/python/tf/nn/static_bidirectional_rnn https://www.w3cschool.cn/t ...