分享web开发知识

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

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

9.3 域名解析与网页爬虫

发布时间:2023-09-06 01:52责任编辑:白小东关键词:爬虫

  Python 3.x 标准库 urllib提供了 rullib.request、urllib.response、urllib.parse 和 urllib.error 4个模块,很好地支持了网页内容读取功能。

  下面的代码演示了如何读取并显示指定网页的内容。

1 import urllib.request2 3 fp = urllib.request.urlopen(r‘http://www.baidu.com‘)4 5 print(fp.read().decode()) ????#读取了返回HTML6 7 fp.close()

  下面的代码演示了如何使用GET方法读取并显示指定URL的内容。

1 import urllib.request2 import urllib.parse3 4 params = urllib.parse.urlencode({‘spam‘:1,‘eggs‘:2,‘bacon‘:0})5 url = r‘http://www.baidu.com%s‘%params6 with urllib.request.urlopen(url) as f:7 ????print(f.read().decode(‘utf-8‘))

  下面的代码演示了如何使用POST方法提交参数并读取指定页面内容。

1 import urllib.request2 import urllib.parse3 4 data = urllib.parse.urlencode({‘spam‘:1,‘eggs‘:2,‘bacon‘:0})5 data = data.encode(‘ascii‘)6 with urllib.request.urlopen(r‘http://www.baidu.com‘,data) as f:7 ????print(f.read().decode(‘utf-8‘))

  下面的代码演示了如何使用HTTP代理访问指定网页。

1 import urllib.request2 3 4 proxies = {‘heet‘:‘http://proxy.example.com:8080/‘}5 opener = urllib.request.FancyURLopener(proxies)6 with opener.open(‘http://www.python.ory‘) as f:7 ????f.read().decode(‘utf-8‘)

  在IDLE或者Python程序中使用下面的代码调用浏览器打开指定网页:

1 import webbrowser2 3 webbrowser.open(‘www.baidu.com‘)

  最后,标准库urllib.parse import urlparse 提供了域名解析的功能,支持RUL的拆分与合并以及相对地址到绝对地址的转换。

 1 from urllib.parse import urlparse 2 ?3 o = urlparse(‘http://www.cwi.nl:80/%7Eguido/Python.html‘) 4 print(o.port) ???????#80 5 print(o.hostname) ???#www.cwi.nl 6 ?7 print(o) ??#ParseResult(scheme=‘http‘, netloc=‘www.cwi.nl:80‘, path=‘/%7Eguido/Python.html‘, params=‘‘, query=‘‘, fragment=‘‘) 8 ?9 print(urlparse(‘www.cwi.nl:80/%7Eguido/Python.html‘)) ?#ParseResult(scheme=‘www.cwi.nl‘, netloc=‘‘, path=‘80/%7Eguido/Python.html‘, params=‘‘, query=‘‘, fragment=‘‘)10 11 12 from urllib.parse import urljoin13 print(urljoin(‘http://www.cwi.nl:80/%7Eguido/Python.html‘,‘FAQ.html‘)) ??#http://www.cwi.nl:80/%7Eguido/FAQ.html14 print(urljoin(‘http://www.cwi.nl:80/%7Eguido/Python.html‘,‘//www.python.org/%7Eguido‘)) ??#http://www.python.org/%7Eguido15 16 from urllib.parse import urlsplit17 url = r‘https://docs.python.org/3/library/urllib.parse.html‘18 r1=urlsplit(url)19 print(r1) ???????#SplitResult(scheme=‘https‘, netloc=‘docs.python.org‘, path=‘/3/library/urllib.parse.html‘, query=‘‘, fragment=‘‘)20 print(r1.geturl()) #https://docs.python.org/3/library/urllib.parse.html

9.3 域名解析与网页爬虫

原文地址:https://www.cnblogs.com/avention/p/8984481.html

知识推荐

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