因为学习需要,想自己弄一些语料玩玩,新闻联播似乎是个不错的选择,然后百度了一下:

感觉还是挺多的。。。。所以我选择了第二个。。就是http://www.xwlbo.com/txt.html这个网址。

看了一下,这个网址是以_1的方式翻页的。

一共有47页,数据追溯到

似乎还可以。。。。

分析了下源代码。列表页的文章是用一个列表维护的:

文章内的文字爬取难度一般,但是比较乱

我的思路是:

先爬取文章ID号,再遍历ID号爬一遍各个ID下的新闻的内容

那就, 直接上代码:

python爬虫爬取网站内容时,如果什么也没带,即不带报头headers,往往会被网站管理维护人员认定为机器爬虫,所以我们需要伪装浏览器的user-agent。

这个是网上的模板,用来随机组成User-Agent

#settings.py

User_Agents =['Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50','Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50','Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0','Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:2.0.1) Gecko/20100101 Firefox/4.0.1','Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11','Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11',

]

获取文章的ID号

importrandomimportreimportrequestsimportcodecsfrom spider.settings importUser_AgentsclassID_Spider(object):def __init__(self):#URL

self.ur1 = "http://www.xwlbo.com/txt_"self.ur2= ".html"

#Headers

self.headers = {'User-Agent': random.choice(User_Agents)}

self.output= open('d:\id.txt','w+')defdown_(self,offset):

resp=Nonetry:

resp= requests.get(self.ur1 + str(offset) + self.ur2 , headers =self.headers)exceptException as e:print(resp)returnrespdefget_(self,resp):

reg= r'li>(.*?){1}'

ifresp:returnre.findall(reg ,resp.text ,re.S)defid_(self,ss):for t inss:#dr = re.compile(r'

dr = re.findall(r'\d{4,5}',dd)#id = re.findall(r'\\d',dr)

try:print(dr[0])

self.output.write(dr[0])

self.output.write('\n')exceptException as e:continue

defmain():

ids=ID_Spider()

offset= 1

while(offset <= 47):

ids.id_(ids.get_(ids.down_(offset)))

offset+= 1

if __name__ == '__main__':

main()

获取文章

import random

import re

import time

import requests

from spider.settings import User_Agents

id_file = open('d:\id','r')

class NEWS_Spider(object):

def __init__(self):

#URL

self.ur1 = "http://www.xwlbo.com/"

self.ur2 = ".html"

#Headers

self.headers = {'User-Agent': random.choice(User_Agents)}

self.output = open('d:\\news.txt','w+')

def down_(self,id):

resp = None

try:

resp = requests.get(self.ur1 + str(id) + self.ur2 , headers = self.headers)

except Exception as e:

print(resp)

print(resp)

return resp

def get_(self,resp):

reg = r'

{1}'

# reg = r'body>(.*?)

python爬取一条新闻内容_自己做语料——Python爬取新闻联播文字版相关推荐

  1. python爬取新浪新闻首页_学习了《python网络爬虫实战》第一个爬虫,爬取新浪新闻...

    请安装anaconda,其中附带的spyder方便运行完查看变量 1.进入cmd控制台, 输入 pip install BeautifulSoup4 pip install requests 2.编写 ...

  2. python爬取新浪新闻意义_爬取新浪新闻

    [Python] 纯文本查看 复制代码import requests import os from bs4 import BeautifulSoup import re # 爬取具体每个新闻内容 de ...

  3. Python爬虫爬取新浪新闻内容

    首先感谢丘祐玮老师在网易云课堂的Python网络爬虫实战课程,接下来也都是根据课程内容而写.一来算是自己的学习笔记,二来分享给大家参考之用. 课程视频大概是在16年11月录制的,现在是18年2月.其中 ...

  4. 微博爬取(Python)--中大微博前100条微博内容以及评论转发点赞数目爬取

    简述 微博的动态网络爬取是非常困难的,甚至于电脑版的微博爬取也是有这样的苦难的. 然后,有这样的一个解决方法,就是,下面的这个网站 https://m.weibo.cn/u/1892723783?ui ...

  5. python爬虫爬取新浪网站新闻内容

    我们以爬取sina时尚模块为例 准备工作 为进行爬虫爬取工作,我们需要进行相关库的准备以及对网页设置布局的了解 相关库的准备 import os import re import urllib fro ...

  6. python抓取微信群消息怎么屏蔽_在微信好友信息抓取这一块,这才是最好的python分析技巧!...

    早些日子有人问我我的微信里面有一共多少朋友,我就随后拉倒了通讯录最下面就找到了微信一共有多少位好友.然后他又问我,这里面你认识多少人? 这一句话问的我很无语.一千多个好友我真的不知道认识的人有多少.他 ...

  7. php获取html中文本框内容_小猿圈Python入门之批量获取html内body内容的方法

    对于人工智能你了解有多少?你知道Python的使用吗?这个对于大部分初学者来说都是很难的,小猿圈Python讲师会每天为大家选择分享一个知识点,希望对你学习Python有所帮助,今天分享的就是批量获取 ...

  8. python国内谁的书最好看_强烈建议|转行Python最好看一下这篇文章

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python!最近陆陆续续有很多小伙伴问我,学Python到底应该做什么,从事哪种岗位.下面是我们工作圈里面一些同学的苦恼: 一转行要趁早 ...

  9. python在教育领域的应用课题_研究型案例在Python教学方法中应用

    高勇钢 摘要:在高校开设python课程时,为了适应大数据时代对数据分析的要求,采用研究型案例教学方法增强学生计算思维能力和解决复杂专业问题的能力,并且初步掌握了研究具体问题的基本方法. 关键词:Py ...

最新文章

  1. Linux-centos nginx 解决“虚拟机远程连接老是断掉” 改变网络配置
  2. 用DELPHI的RTTI实现数据集的简单对象化
  3. Java黑皮书课后题第1章:1.3(显示图案)编写程序,显示下面的图案 Java
  4. User Mode Driver Management介绍(一)
  5. Java 证书pem转KeyStore、jks文件
  6. Mybatis中的缓存详解
  7. Linux内核源码阅读之打开文件篇
  8. 大图社区搜索的调查综述(二)——预备知识
  9. java动态规划解法_动态规划通用解法总结(示例代码)
  10. 小技巧:Go怎么样获取常驻内存子进程的输出
  11. bandizip修改压缩文件内容_BandiZip解压添加压缩文件教程
  12. 指定条件查找计算机,Excel函数教程: 查找符合指定条件的数据-excel技巧-电脑技巧收藏家...
  13. 京东充值系统现漏洞 被恶意盗刷
  14. 实时文件同步软件--端端(Clouduolc)的诞生小记
  15. 程序员必须要懂的首字母大写规范
  16. Java项目:ssh实验室预约管理系统
  17. linux usb 网络摄像头,树莓派|Linux有问必答:如何在树莓派上安装USB网络摄像头...
  18. bat 当前目录下 子目录文件 移动到当前目录 并 文件改名 改后缀名
  19. php pdo oracle 乱码,php pdo 乱码怎么办
  20. 如何将iphone系统由正式版转为beta测试版

热门文章

  1. 关于placement new
  2. 使用ACCESS+OUTLOOK2007邮件方式批量收集数据
  3. Linux多进程编程之在线词典
  4. Ubunt sudo免密码输入
  5. Android7.0以后的ninja编译系统
  6. 成功转型机器学习,多年的经验分享
  7. Android开发之蓝牙(Bluetooth)---源码目录
  8. ‘Microsoft Office Enterprise 2007 在安装过程中出错‘ 的解决方法
  9. CMSampleBufferRef获取h264 char*数据及sps/pps
  10. CVPR学习(六):CVPR2019-目标跟踪