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

yipeiwu_com7年前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()

相关文章

mac PyCharm添加Python解释器及添加package路径的方法

mac PyCharm添加Python解释器及添加package路径的方法

一、背景 PyCharm执行Python时,找不到自己安装的package,例如pandas、numpy、scipy、scikit等,在执行时报如下错误ImportError: No...

Python的pycurl包用法简介

pycurl是功能强大的python的url包,是用c语言写的,速度很快,比urllib和httplib都快 调用方法: import pycurl c = pycurl.Curl...

Python 内置变量和函数的查看及说明介绍

Python 内置变量和函数的查看及说明介绍

Python 解释器内置了一些常量和函数,叫做内置常量(Built-in Constants)和内置函数(Built-in Functions),我们怎么在 查看全部内置常量和函数的名字...

python使用epoll实现服务端的方法

如下所示: #!/usr/bin/python # -*- coding: UTF-8 -*- import socket import select send_data = "h...

Python跳出循环语句continue与break的区别

Python跳出循环语句continue与break的区别

虽然在Python中的for循环与其它语言不大一样,但跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环。 break 复制代码 代...