Python实现随机读取文本N行数据
工作中需要判断某个文本中的URL是否能正常访问,并且随机获取其中N行能正常访问的URL数据,我的思路是:读取文本每一行数据,用urlopen访问,将返回状态码为200的URL保存到一个列表,获得列表长度,使用random产生一个随机值作为列表下标,获取该行数据。具体实现如下:
import urllib2,random
from sets import Set def get_responses(url):
global good_list
global bad_list
if not url.startswith("http:"):
http_url = "http://" + url
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 5.1; rv:10.0.1) Gecko/20100101 Firefox/10.0.1',}
try:
request = urllib2.Request(http_url, headers=headers)
resp = urllib2.urlopen(request)
print url
except urllib2.URLError, e:
print e
bad_list.append(url)
return 0 retcode = resp.getcode()
if retcode == 200:
good_list.append(url)
#return 1
else:
bad_list.append(url)
#return 0 def readFile():
try:
urllist = open(r'C:\Users\888\Desktop\urls.txt','r')
except IOError:
print "file does not exist.\n"
for item in urllist:
item = item.strip('\n')
r = get_responses(item) urllist.close()
print "Total URLs: %d, Good URLs:%d, Bad URLs: %d." %((len(good_list)+len(bad_list)),len(good_list),len(bad_list)) def writeFile(linenum):
result = []
linelen = len(good_list)
while len(result) < int(linenum):
s = random.randint(0,linelen-1)
result.append(good_list[s])
result = list(Set(result)) # Put the good_url in goodurl.txt file
try:
goodurl = open(r'C:\Users\888\Desktop\goodurl.txt','w+')
except IOError:
print "file does not exist.\n" for item in result:
goodurl.write(item+'\n')
goodurl.close() print "The mission is done, Please check the goodurl.txt file" if __name__ == "__main__":
good_list = []
bad_list = []
readFile()
writeFile(150)
Python实现随机读取文本N行数据的更多相关文章
- R语言学习笔记:读取前n行数据
常规读取 一般我们读取文件时都会读取全部的文件然后再进行操作,因为R是基于内存进行计算的. data <- read.table("C:\\Users\\Hider\\Desktop\ ...
- Python中如何读取xls中的数据
要想读取EXCEL中的数据,首先得下载xlrd包,地址:https://pypi.python.org/pypi/xlrd 安装方法:下载解压后,利用windows dos命令进入解压目录eg,c ...
- python 去除Excel中的重复行数据
导入pandas import pandas as pd 1.读取excel中的数据: frame = pd.DataFrame(pd.read_csv('excel的绝对路径.csv'', 'She ...
- Hive随机取某几行数据
order by rand() limit 100 1. 可用于普通随机筛选 2. 也可用于row_number() 等函数的排序里作为随机排序.
- [SoapUI] Groovy在SoapUI里获取Text文本第一行数据
// get external txt file datadef groovyUtils =new com.eviware.soapui.support.GroovyUtils(context)def ...
- shell随机读取一行
使用shell随机读取文件的一行数据 shuf -n1 file_name
- 简谈python从Oracle读取数据生成图形
初次学习python,连接Oracle数据库,导出数据到Excel,再从Excel里面读取数据进行绘图,生成png保存出来. 1.涉及到的python模块(模块安装就不进行解释了): 1 import ...
- sql server 随机读取数据
--sql server 随机读取数据 * FROM [tablename] ORDER BY NEWID() pk from [tablename] ORDER BY NEWID()) --这两个方 ...
- 转: 从Mysql某一表中随机读取n条数据的SQL查询语句
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...
随机推荐
- Nginx的程序架构优化
解耦是开发人员中流行的有个名词,简单的说就是把一堆的程序代码按照业务用途分开,然后提供服务,例如:注册登录.上传.下载.浏览列表.商品内容页面.订单支付等都应该是独立的程序服务,只不过在客户端看来是一 ...
- art-template模板应用
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Android网络编程系列之HTTP协议原理总结
前言 作为搞移动开发的我们,免不了与网络交互打交道.虽然市面上很多开源库都封装的比较到位,我们实现网络访问也轻车熟路.但还是十分有必要简要了解一下其中的原理,以便做到得心应手,也是通往高级开发工程师甚 ...
- Django CMDB
cp:https://www.cnblogs.com/wupeiqi/articles/6192986.html https://www.cnblogs.com/sss4/p/10131953.htm ...
- 网站软件FTP下载
网站软件FTP下载 统一管理站 http://www.mmnt.net/ db2 http://www.mmnt.net/db/0/0/public.dhe.ibm.com/software/hk/ ...
- Oracle EBS OM 保留订单
DECLARE l_header_rec OE_ORDER_PUB.Header_Rec_Type; l_line_tbl OE_ORDER_PUB.Line_Tbl_Type; l_action_r ...
- 类Unix上5个最佳开源备份工具 Bacula/Amanda/Backupninja/Backuppc/UrBackup
当为一个企业选择备份工具的时候,你都考虑什么呢? 确定你正在部署的软件具有下面的特性 开源软件 – 你务必要选择那些源码可以免费获得,并且可以修改的软件.确信可以恢复你的数据,即使是软件供应商/项目停 ...
- 简单实现MySQL数据库的日志审计
时间 2018-12-23 08:01:11 FreeBuf 原文 https://www.freebuf.com/articles/es/192062.html 主题 MySQL 0×0 背景 ...
- 转:前端js、jQuery实现日期格式化、字符串格式化
1. js仿后台的字符串的StringFormat方法 在做前端页面时候,经常会对字符串进行拼接处理,但是直接使用字符串拼接,不但影响阅读,而且影响执行效率,且jQuery有没有定义字符串的Strin ...
- python容错
#try: except: else: #为什么叫容错呢,先说说错误,这里说的错误并不是因为马虎或者什么原因在脚本中留下的bug,这个不能容掉,所谓容掉就是略过这个错误,要在测试时候发现并修正,需要容 ...