今天临时需要爬取一些双语资料

(尚未清洗)

需要充分利用

下边代码是想拿到Chinadaily网页中每篇双语新闻的链接,首先研究这些网页的网址和网页结构,包括翻页一般是首页网址加上_2,_3...等等。所以以下代码只是拿到链接。

#!/usr/bin/env python
# -*- coding: utf-8 -*-"""
File: bi_news.py
Author: ZhangHaiou(hozhangel@126.com)
Date: 2018/05/04
"""import urllib
import re
import osbi_urls = []
def getHtml(url):    #读取网页内容page = urllib.urlopen(url)html = page.readlines()#print htmlreturn htmldef getImg(html):reg = r'src="(.+?\.jpg)" pic_ext'imgre = re.compile(reg)imglist = re.findall(imgre,html)x = 0for imgurl in imglist:urllib.urlretrieve(imgurl,'%s.jpg' % x)x+=1def geturl(html):   #读取网页中需要的链接for line in html:if re.search('\<div class="mr10"\>\<a href="\d\d\d\d\-\d\d/\d\d/content\_\d{4,}.htm"',line):if re.search('\<div class="mr10"\>\<a href="2016\-\d\d/\d\d/content\_\d{4,}.htm"',line):        #只是想拿到2016年之后的语料
                os._exit(0)else:url = re.findall(r'\d\d\d\d\-\d\d/\d\d/content\_\d{4,}.htm',line)print("http://language.chinadaily.com.cn/" + url[0])bi_urls.append("http://language.chinadaily.com.cn/" + url[0])if __name__ == '__main__':        n = 1# os.system('wget -r --spider http://language.chinadaily.com.cn/news_bilingual.html')# #geturl(getHtml("http://language.chinadaily.com.cn/news_bilingual.html"))# '''while n:if(n < 2):html = getHtml("http://language.chinadaily.com.cn/news_bilingual.html")elif(n > 1):html = getHtml("http://language.chinadaily.com.cn/news_bilingual_" + str(n) + ".html" )geturl(html)n = n + 1

执行python bi_news.py >url.txt 把想要的网址保存

url.txt内容:

下一步是简单爬取把url中每行链接的网页内容,且把新闻按照月份整理进入文件夹,文件名是每个新闻链接的后面八位数字

#!/usr/bin/env python
# -*- coding: utf-8 -*-"""
File: content.py
Author: ZhangHaiou(hozhangel@126.com)
Date: 2018/05/04
"""import urllib
import re
import os
import sys
bi_urls = []
def getHtml(url):page = urllib.urlopen(url)html = page.read()#print htmlreturn htmldef getImg(html):reg = r'src="(.+?\.jpg)" pic_ext'imgre = re.compile(reg)imglist = re.findall(imgre,html)x = 0for imgurl in imglist:urllib.urlretrieve(imgurl,'%s.jpg' % x)x+=1def geturl(html):for line in html:if re.search('\<div class="mr10"\>\<a href="\d\d\d\d\-\d\d/\d\d/content\_\d{4,}.htm"',line):if re.search('\<div class="mr10"\>\<a href="2016\-\d\d/\d\d/content\_\d{4,}.htm"',line):                os._exit(0)else:url = re.findall(r'\d\d\d\d\-\d\d/\d\d/content\_\d{4,}.htm',line)print(url)bi_urls.append(url)
def savefile(savepath, content):with open(savepath, "w") as fp:fp.write(content)if __name__ == '__main__':        for line in open(sys.argv[1],'r'):content = ""n = 1while n: #这个循环是为了不遗漏需要翻页的新闻if n > 1:htm = line + "_" + str(n)else:htm = lineraw = getHtml(htm)if not re.findall(r'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">',raw): #避免空白页breakprint(htm)n = n + 1# for hang in raw:# if re.search('^\<p\>.*\<\/p\>',hang):content = content + rawdate = re.findall(r'\d\d\d\d\-\d\d',line)[0]filename = re.findall(r'\d{6,}',line)[0]if not os.path.exists(date):  # 是否存在目录
            os.makedirs(date)savefile(date + "/" + filename + ".txt" , content)

转载于:https://www.cnblogs.com/hozhangel/p/8990818.html

Chinadaily双语新闻爬取相关推荐

  1. python爬虫实战之百度新闻爬取

    百度新闻信息爬取 目录 百度新闻信息爬取 序言 获取在百度新闻中搜索"阿里巴巴"的网页源代码 编写正则表达式提取新闻信息 数据清洗并打印输出 实战完整代码 序言  通过对百度新闻标 ...

  2. 基于SpringBoot+Java+MySQL的新闻爬取发布管理投稿聊天前后台管理系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85631429 介绍 本课题遵循软件工程的理论,以及需求分析.系统设计.编码.测试这些软件生 ...

  3. scrapy框架,腾讯新闻爬取

    Scrapy框架,腾讯新闻爬取 创建工程命名newsqq 1.1使用命令创建 scrapy 工程 1.2新建爬虫主文件 1.2.1爬虫完整代码 1.3 修改项目 item.py 文件 1.4修改项目 ...

  4. (九)python网络爬虫(理论+实战)——爬虫实战:指定关键词的百度新闻爬取

    目录 4.5 动手写网络爬虫--指定关键词的百度新闻爬取(实战) 序言 本人从事爬虫相关工作已8年以上,从一个小白到能够熟练使用爬虫,中间也走了些弯路,希望以自身的学习经历,让大家能够轻而易举的,快速 ...

  5. 新浪财经新闻爬取并进行舆情分析

    这篇文章属于对新浪财经上某一个股个股资讯的爬取并进行舆情分析,目前先只简单说下代码使用方法,后面再细说下Html的解析细节和异步并发爬取. 1.基本思路(以中国中兔为例): (1)找到个股url 点击 ...

  6. 【东南亚小语种项目】泰文文献双语标题和双语摘要爬取

    目录 0.介绍项目目标 1.网站分析 1.1 寻找文档的uri规律 1.2 寻找html规律 2.爬取操作 2.1 多线程实现访问和爬取 2.2 html 处理 2.3 tsv转换 3.完整代码 4. ...

  7. python实现百度新闻爬取并存入数据库(二)

    上节课学习了爬取搜狗新闻网站的内容,这节课讲解如何把爬取的数据存入数据库表中,使用mysql数据库. 先简单说下mysql数据库的安装 mysql的安装文件可在网盘下载,安装即可,安装过程注意设置账号 ...

  8. selenium新闻爬取

    # encoding: utf-8 from selenium import webdriver import time import pandas as pd# 人工设定抓取页数 page_max ...

  9. python编程100例头条-python 简单爬取今日头条热点新闻(一)

    今日头条如今在自媒体领域算是比较强大的存在,今天就带大家利用python爬去今日头条的热点新闻,理论上是可以做到无限爬取的: 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模式netwo ...

最新文章

  1. 2022-2028年中国金融云行业市场研究及前瞻分析报告
  2. php取得文件的大小
  3. MySQL数据库查询时间段的两种方法
  4. 【iCore3 双核心板】例程三十五:HTTP_IAP_ARM实验——更新升级STM32
  5. 用VC写Assembly代码(4)
  6. [转]Cuda笔记【1】GPU计算DEMO
  7. php 遍历文件夹下的所有文件名以及文件大小
  8. React脚手架配置代理解决跨域
  9. 2019.2.18 模板的创建和自定义子模板文件(single.php 等)
  10. JAVA stream流详细教程
  11. A15处理器和m1哪个好
  12. 三门外语 精通oracle_《精通Oracle SQL(第2版)》PDF 下载
  13. 关于Hadoop在java客户端进行下载时的异常java.io.FileNotFoundException: Hadoop home directory is no existed的解决办法
  14. vue v-if 加key值的作用
  15. 电脑使用速度变慢的七大原因
  16. html中使用video标签插入视频
  17. Pytorch基础——torch.randperm
  18. JetBrains IntelliJ IDEA 2022 for Mac(最好用的Java开发工具)
  19. OGRE 火炬之光(torchlight) 骨骼动画 .
  20. ProGuard Usage 翻译

热门文章

  1. 2022.09.01 最新配置maven阿里云仓库配置
  2. 使用Post不传Body,出现socket hang up报错
  3. ATLAS/ICESAT-2 NASA 数据产品详细介绍及相关说明文档
  4. 在内网使用DBL落地网关,连接公网的freeswitch
  5. python+requests接口测试
  6. Vue详解+实战分析
  7. 常见的随机变量分布律/概率密度、期望、方差以及特征函数
  8. 水浴的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. 自然语言处理2——语言学基础
  10. hevc 继续色度半像素差值