python实现网页链接提取的方法分享

yipeiwu_com6年前Python基础

复制代码 代码如下:

#encoding:utf-8
import socket
import htmllib,formatter
def open_socket(host,servname):
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    port=socket.getservbyname(servname)
    s.connect((host,port))
    return s
host=''
host=input('请输入网址\n')
mysocket=open_socket(host,'http')
message='GET http://%s/\n\n'%(host,)
mysocket.send(message)
file=mysocket.makefile()
htmldata=file.read()
file.close()
parser=htmllib.HTMLParser(formatter.NullFormatter()) 
parser.feed(htmldata)
print '\n'.join(parser.anchorlist)
parser.close()

相关文章

用Python生成器实现微线程编程的教程

微线程领域(至少在 Python 中)一直都是 Stackless Python 才能涉及的特殊增强部分。关于 Stackless 的话题以及最近它经历的变化,可能本身就值得开辟一个专栏...

Python基于dom操作xml数据的方法示例

Python基于dom操作xml数据的方法示例

本文实例讲述了Python基于dom操作xml数据的方法。分享给大家供大家参考,具体如下: 1、xml的内容为del.xml,如下 <?xml version="1.0...

Python闭包的两个注意事项(推荐)

什么是闭包? 简单说,闭包就是根据不同的配置信息得到不同的结果。 再来看看专业的解释:闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的...

linux下python中文乱码解决方案详解

linux下python中文乱码解决方案详解

1. 场景描述 linux服务器下安装了Anaconda3,执行Pyhton的K-means算法,结果出现如下图的中文字符乱码。上次已经解决了,忘记记录解决流程了,这次配置了一台新的服...

Pycharm设置去除显示的波浪线方法

Pycharm设置去除显示的波浪线方法

近期安装了python后,发现使用pycharm工具打开代码后发现代码下边会有波浪线的显示;但是该代码语句确实没有错误,通过查询发现了两种方法去掉该波纹的显示,下面就具体说明一下: 方法...