urllib是python3.x中提供的一系列操作的URL的库,它可以轻松的模拟用户使用浏览器访问网页.
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.
1、安装python最新安装包3.5.2
注:安装的时候注意勾选添加到PATH(系统环境变量)中
验证安装是否成功: 在命令行cmd中输入python,如果进入到python的编辑环境,则安装成功。
2、安装urllib
在python命令行中输入:from urllib.request import urlopen
显示如下:没有出现错误信息则安装成功
3、安装BeautifulSoup
在cmd中输入:pip install beautifulsoup4
验证是否装成功:form bs4 import BeautifulSoup 如果没有报错就是安装成功
4、urllib的用法介绍
(1)使用步骤
- 导入urllib库的request模块 from urllib import request
- 请求URL req = request.Request(URL)
- 设置请求头 req.add_header(key,value)
- 使用响应对象输出数据print(resp.read().decode(‘utf-8‘))
from urllib import request req = request.Request("http://www.baidu.com") req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:48.0) Gecko/20100101 Firefox/48.0") resp = request.urlopen(req) print(resp.read().decode("utf-8"))
这里我用sublime Text 测试:可以看到百度首页的数据是可以被获取下来的。
(2)post请求
- 导入urllib库下面的parse: from urllib import parse
- 使用urlencode生成post数据
postData = parse.urlencode([
(key1,val1),
(key2,val2),
(key3,val3)
])
- 使用postData发送POST请求 request.urlopen(req,data = postData.encode(‘utf-8‘))
- 得到请求状态 resp.status
- 得到服务器类型 resp.reason
from urllib.request import urlopen from urllib.request import Request from urllib import parse req = Request(‘http://huochepiao.114piaowu.com/train/ydTrainZdz_searchAdapter.action‘) postData = parse.urlencode({ ‘fromStation‘:‘上海‘, ‘godateStr‘:‘2016-09-07‘, ‘searchType‘:0, ‘toStation‘:‘广州‘ }).encode(‘utf-8‘) req.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0") resp = urlopen(req,data = postData) print(resp.read().decode(‘utf-8‘))
5、beautifulSoup使用简介
http://beautifulsoup.readthedocs.io/zh_CN/latest/#id20
时间: 2024-10-07 22:12:44