10.3 URL参数设置及网络请求
request请求后,解析数据。BeautifulSoup
包。
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。
- 安装BeautifulSoup包、lxml包
# -*- coding: utf-8 -*-
"""
Created on Sat Apr 15 15:33:04 2017
@author: Administrator
"""
import requests
from bs4 import BeautifulSoup
r = requests.get(url = 'http://news.qq.com/a/20170415/020416.htm')
soup = BeautifulSoup(r.text, 'lxml')
print(type(r.text))
print(type(soup))
#注意在IPython Console内查看
格式化输出结果
按照html的缩进方式输出结果
print(soup.prettify())
提取HTML的标签 Tag
Tag就是HTML中的一个个标签
print(soup.title)
print(soup.a)
print(soup.p)
print(type(soup.title))
print(soup.title)
#以上查找的内容均为符合要求的第一个标签
对于Tag,还有两个属性:name
和attrs
soup.name
较特殊它的name
即为[document],对于其他内部标签,输出的值便为标签。
提取html的标签的文字 NavigableString
print(soup.title.string)
print(soup.title.text)
NavigableString翻译过来就是“可遍历的字符串”
分析文档树
如何遍历所有标签
find_all()
搜索当前tag子节点,并判断是否符合过滤器的条件。
find_all(name, attrs, recursive, string, **kwargs)
总结
- soup = BeautifulSoup(makeup, 'lxml')
- 格式化输出结果 soup.prettify()
- 提取标签Tag,以及两个属性 .name .attrs
- 提取标签内的文字 .string .text
- 文档树
- 遍历所有标签 soup.find_all() , 及相关参数
- soup.find() 一些正则小技巧
网友评论