网贷欠款不网贷逾期没还会怎么样样

出处:.cn/netreview Python写个简单爬虫,并作网页解析,还是非常高效的。
1. 获取HTML页面
urllib2是urllib得增强版,httplib更为底层,可以理解为urllib是对httplib的抽象。
httplib是一个相对底层的http请求模块,其上有专门的包装模块,如urllib内建模块,goto等第三方模块,但是封装的越高就越不灵活,比如urllib模块里请求错误时就不会返回结果页的内容,只有头信息,对于某些需要检测错误请求返回值的场景就不适用,所以就得用这个模块了。
httplib2,一个第三方的开源库,它比http.client更完整的实现了http协议,同时比urllib.request提供了更好的抽象。
示例,最基本的抓站,两句话就可以了:
import urllib2
content = urllib2.urlopen(&http://XXXX&).read()
这样可以得到整个 html
文档,关键的问题是我们可能需要从这个文档中获取我们需要的有用信息,而不是整个文档。这就需要解析充满了各种标签的 html。
2. 使用HTMLParser解析网页
HTMLParser是python用来解析html的模块。它可以分析出html里面的标签、数据等等,是一种处理html的简便途径。
HTMLParser采用的是一种事件驱动的模式,当TMLParser找到一个特定的标记时,它会去调用一个用户定义的函数,以此来通知程序处理。它
主要的用户回调函数的命名都是以handler_开头的,都是HTMLParser的成员函数。当我们使用时,就从HTMLParser派生出新的类,然
后重新定义这几个以handler_开头的函数即可。
handle_startendtag 处理开始标签和结束标签
handle_starttag
处理开始标签,比如&xx&
handle_endtag
处理结束标签,比如&/xx&
handle_charref
处理特殊字符串,就是以&#开头的,一般是内码表示的字符
handle_entityref
处理一些特殊字符,以&开头的,比如 &
handle_data
处理数据,就是&xx&data&/xx&中间的那些数据
handle_comment
handle_decl
处理&!开头的,比如&!DOCTYPE html PUBLIC
&-//W3C//DTD HTML 4.01
Transitional//EN&
处理形如&?instruction&的东西
下面给一个简单的示例:
#!/usr/bin/env python
#coding=utf-8
import HTMLParser
class MyParser(HTMLParser.HTMLParser):
__init__(self):
HTMLParser.HTMLParser.__init__(self)
handle_starttag(self, tag, attrs):
if tag == &a&:
for name, value in attrs:
if name == &href&:
print value
if __name__==&__main__&:
&&html&&body&&a
target=&_blank&&WeiboSite&/a&&/body&&/html&&
MyParser()
my.feed(content)
3. 使用SGMLParser解析网页
SGMLParser也是Python自带的解析器,比HTMLParser更加易用。
下面给一个示例:
#!/usr/bin/env python
import urllib2
from sgmllib import SGMLParser
class ListName(SGMLParser):
__init__(self):
SGMLParser.__init__(self)
self.is_h4 = &&
self.name = []
start_h4(self, attrs):
self.is_h4 = 1
end_h4(self):
self.is_h4 = &&
handle_data(self, text):
if self.is_h4 == 1:
self.name.append(text)
content = urllib2.urlopen(&
listname = ListName()
listname.feed(content)
for item in listname.name:
item.decode(&gbk&).encode(&utf8&)
示例很简单,这里定义了一个叫做 ListName 的类,继承 SGMLParser 里面的方法。使用一个变量 is_h4
做标记判定 html 文件中的 h4 标签,如果遇到 h4 标签,则将标签内的内容加入到 List 变量 name 中。解释一下
start_h4() 和 end_h4() 函数,他们原型是 SGMLParser 中的
start_tagname(self, attrs)
end_tagname(self)
tagname 就是标签名称,比如当遇到 &pre&,就会调用
start_pre,遇到 &/pre&,就会调用
end_pre。attrs 为标签的参数,以 [(attribute, value), (attribute, value),
...] 的形式传回。
4. 使用pyQuery解析网页
pyQuery 是 jQuery 在 python 中的实现,能够以 jQuery 的语法来操作解析 HTML
文档,十分方便。使用前需要安装,easy_install pyquery 即可,或者 Ubuntu 下
sudo apt-get install python-pyquery
下面是一个示例:
from pyquery import PyQuery as pyq
doc=pyq(url=r&
cts=doc(&.market-cat&)
for i in cts:
&====&,pyq(i).find(&h4&).text() ,&====&
pyq(i).find(&.sub&):
print pyq(j).text() ,
5. 使用BeautifulSoup解析网页
有个头痛的问题是,大部分的网页都没有完全遵照标准来写,各种莫名其妙的错误令人想要找出那个写网页的人痛打一顿。为了解决这个问题,我们可以选择著名的
BeautifulSoup 来解析 html
文档,它具有很好的容错能力。BeautifulSoup功能强大,值得深入学习一下。
相关 [python 网页 解析] 推荐:
- 互联网实践
Python写个简单爬虫,并作网页解析,还是非常高效的. urllib2是urllib得增强版,httplib更为底层,可以理解为urllib是对httplib的抽象. httplib是一个相对底层的http请求模块,其上有专门的包装模块,如urllib内建模块,goto等第三方模块,但是封装的越高就越不灵活,比如urllib模块里请求错误时就不会返回结果页的内容,只有头信息,对于某些需要检测错误请求返回值的场景就不适用,所以就得用这个模块了.
- CSDN博客推荐文章
python自带了urllib和urllib2模块,以及第三方的requests库来抓取网页,这里我们使用easy_install包管理工具下载requests库,BeautifulSoup库,在CMD命令行下,切换到easy_install的目录,运行命令easy_install 包名称. 安装好requests包之后,我们就可以选择使用urllib,urllib2或requests库来抓取网页了.
- 博客园_首页
在大的互联网公司干技术的基本都会碰到测试、预发布、线上这种多套环境的,来实现测试和线上正式环境的隔离,这种情况下,就难免会碰到秀逗了把测试的链接发布到线上的情况,一般这种都是通过一些测试的检查工具来检查链接来规避风险的. 前两天跟了一个问题也是这个情况,开发疏忽把日常url发布到线上了. 但是测试那边没有自动化的监控工具,导致没有及时发现,由于最近正好在看python,后来处理完回家就想用python做个简单的监控.
- chuang - Initiative
dropbox定制优化CPython虚拟机,自己搞了个malloc调度算法. 那个 !!!111cos(0). 期待这次PyCon China 2011.
- 企业架构 - ITeye博客
原文地址: http://blog.csdn.net/xuyuefei1988/article/details/、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:. IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:.
- Eric - python相关的python 教程和python 下载你可以在老王python里寻觅
之前给大家分享的python 多线程抓取网页,我觉的大家看了以后,应该会对python 抓取网页有个很好的认识,不过这个只能用python 来抓取到网页的源代码,如果你想用做python 下载文件的话,上面的可能就不适合你了,最近我在用python 做文件下载的时候就遇到这个问题了,不过最终得以解决,为了让大家以后碰过这个问题有更好的解决办法,我把代码发出来:.
- 互联网 - ITeye博客
@FileName:
@Author:xx@
@Create date:
@description:用一行文字概述模块或脚本,用句号结尾. 不影响编码的效率,不与大众习惯冲突.. 使代码的逻辑更清晰,更易于理解..
*所有的 Python 脚本文件都应在文件头标上如下标识或其兼容格式的标识.
- 阿里古古
http://blog.csdn.net/luckeryin/article/details/4477233】. 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序. 例如,有模拟税收计算的程序:. debug_demo函数计算4500的入账所需的税收. 在需要插入断点的地方,加入红色部分代码:如果_DEBUG值为True,则在该处开始调试(加入_DEBUG的原因是为了方便打开/关闭调试).
- hama - Wow! Ubuntu
Dive Into Python 是一份很知名的 Python 入门教程,由 Mark Pilgrim 编写,用户可以免费获取电子版本,而中文版则由啄木鸟社区翻译发布 [ 英文版 / 中文版 ]. 前阵子,Mark Pilgrim 又发布了 《Dive into Python 3》,此版本的内容涵盖了 Python 3 及其与 Python 2 的区别.
- eastxing - 赖勇浩的编程私伙局
赖勇浩(). 今天在 simple- 看到一篇《Python 面试题集合》(http://simple-/news/596),里面有一些很好的试题,如“Python是如何进行类型转换的. ”,也有一些让人吐血的试题,如“Python如何实现单例模式.
坚持分享优质有趣的原创文章,并保留作者信息和版权声明,任何问题请联系:@。1662人阅读
互联网(5)
网站经常会被各种爬虫光顾,有的是搜索引擎爬虫,有的不是,通常情况下这些爬虫都有UserAgent,而我们知道UserAgent是可以伪装的,UserAgent的本质是Http请求头中的一个选项设置,通过编程的方式可以给请求设置任意的UserAgent。&
所以通过UserAgent判断请求的发起者是否是搜索引擎爬虫(蜘蛛)的方式是不靠谱的,更靠谱的方法是通过请求者的ip对应的host主机名是否是搜索引擎自己家的host的方式来判断。
要获得ip的host,在windows下可以通过nslookup命令,在linux下可以通过host命令来获得,例如:
这里我在windows下执行了nslookup ip 的命令,从上图可以看到这个ip的主机名是crawl-66-249-64-。 这说明这个ip是一个google爬虫,google爬虫的域名都是 .
我们也可以通过python程序的方式来获得ip的host信息,代码如下:
import socket
def getHost(ip):
result=socket.gethostbyaddr(ip)
if result: return result[0], None
except socket.herror,e:
return None, e.message
上述代码使用了socket模块的gethostbyaddr的方法获得ip地址的主机名。
常用蜘蛛的域名都和搜索引擎官网的域名相关,例如:
百度的蜘蛛通常是或者baidu.jp的子域名google爬虫通常是的子域名微软bing搜索引擎爬虫是的子域名搜狗蜘蛛是的子域名
基于以上原理,我写了一个工具页面提供,该页面上提供了网页判断的工具和常见的google和bing的搜索引擎爬虫的ip地址。
页面地址:&
本文提供的代码是python代码,通过JAVA代码也是可以实现的,原理是一样的。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:122256次
积分:1603
积分:1603
排名:千里之外
原创:57篇
评论:17条
(1)(2)(1)(2)(4)(5)(1)(1)(9)(9)(1)(2)(11)(2)(1)(4)(2)(3)10:14 提问
怎么使用pycharm来抓取旅游网站的信息
通过网络爬虫爬取来自不同旅游网站的网页,同时需将网页内容进行分布式存储,然后对网页内容进行抽取和分析,提取其中的关键数据,包括但不限于线路编号、产品名称、出发城市、目的地城市、价格、出发日期、交通方式、旅游景点、酒店、行程安排等信息。用户输入出发城市、出发日期、旅游目的地等条件后,系统能按照一定的逻辑进行线路的展示和比价,方便用户做出决策。
按赞数排序
Java 用jsoup 通过标签获取。
用python的scrapy爬虫框架来抓取数据。
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!
其他相似问题

我要回帖

更多关于 网贷一千不还会怎么样 的文章

 

随机推荐