分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

一个爬取法律网站的爬虫

发布时间:2023-09-06 01:16责任编辑:傅花花关键词:爬虫

因为各种原因,需要建立一个法律大全的库,方便做匹配等。重新拿起了python,发现忘的差不多了。

网上找了一下,这是一个大佬做的一个最简单的爬虫,http://www.cnblogs.com/fnng/p/3576154.html,爬取图片的。

于是,学习了之后,自己做了一个爬虫,由于这个是基于2.7版本的,只用了urllib的库,中文的问题啊,真是烦人。所幸经过两天大量的百度,解决了这些乱七八糟的问题。走过的弯路如下,警醒自己。

一.字符串常用操作.

#list转换成字符串list = "".join(list)#字符串去除左边空格str = str.lstrip()#同理,右边空格rstrip,空格strip#去除对应字符str = str.slip("不要我了")

 二.中文问题与编码格式问题

由来已久,python2.7最大的问题。

1.string的问题

string在python2.7中默认为ascii的格式,可以通过导入sys来转换成utf-8

#在前面插入这三行代码import sysreload(sys)sys.setdefaultencoding(‘utf8‘)

 2.在链接或者其他匹配的东西中,请在前面加上u,或者在后面加上.encode("xxx").统一转换成unicode格式,进行操作,不然会出现很多奇奇怪怪的错误

#字符串转换成unicodestr = u"我要被转换了"
#变量被转换
str = str.decode("utf-8")#这里可能会是其他的编码格式,不一定是utf-8,看情况

 3.中文文件路径

尽量避免使用中文路径,如果一定要用,只能将路径中的内容全部转换成unicode格式的。

#例如这是我的程序中一段代码,_save是要保存文件的本地路径_save = mulu + r"/" + title + u"(" + time + u").txt"

 三.网站网速慢怎么办。

运气不好,爬的网站速度慢成狗,同学爬几十万条的数据都爬完了,我的还是龟速前进。每个页面都要尝试访问好几次才能进。

设置超时时间和重新连接。

#设置重连次数计数器fails = 0#urllib不能再openurl方法里设置超时时间,只能设置全局的。#这里设置为5秒socket.setdefaulttimeout(5) while True: ???????????????????try: ???????????????????????if fails >= 20: ???????????????????????????break ???????????????????????#这里是访问的方法 ???????????????????except: ???????????????????????fails += 1 ???????????????????????print "超时了,重新接入" ???????????????????else: ???????????????????????break

一个爬取法律网站的爬虫

原文地址:http://www.cnblogs.com/wuleh/p/7647627.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved