安装lxml包
from lxml import etree
注意:
专门针对HTML解析提取数据
在 XPath 中,有七种类型的节点:元素(标签)、属性、文本
1 文本 : text()
2 属性 : @属性名
3 元素 : [标签序号] xpath下标从1开始
校花网爬虫分析
for i in range(5):
# 列表页的url
list_url = ‘http://www.xiaohuar.com/list-1-{}.html’.format(i)
# 请求列表页,获得列表的响应正文
list_page_resp = request_list_page(list_url)
# 解析列表页的响应正文,获得详情页的url, 返回类型是列表
detail_url_list = parse_list_page(list_page_resp)
# 遍历详情页的url列表,获得每一个详情页的url(每个校花的详情页的url)
for i in detail_url_list:
# 请求详情页, 获得详情页的响应正文
detail_page_resp = request_detail_page(i)
# 解析详情页,获得最终数据,返回结果result
result = parse_detail_page(detail_page_resp)
列表页url :
#http://www.xiaohuar.com/list-1-1.html
#http://www.xiaohuar.com/list-1-2.html
#http://www.xiaohuar.com/list-1-3.html
#http://www.xiaohuar.com/list-1-4.html
豆瓣读书爬虫分析:
index_url = ‘https://book.douban.com/tag/?view=type&icn=index-sorttags-all’
# 请求首页,获得响应正文
type_page_resp = request_index(index_url)
# 解析页面, 获得类别的列表的url, 返回的是列表
type_list_url = parse_type_page(type_page_resp)
# 遍历得到每一个列表页的url
for j in type_list_url:
# 遍历页码
for page in range(0,100,20):
# 拼接页码
url = 'https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4?start={}&type=T'.format(page)
# 请求列表页
list_page_resp = request_list_page(url)
# 解析列表页, 获得详情页(每本书的url),是一个列表
detail_url_list = parse_list_page(list_page_resp)
# 遍历得到每一个详情页url,分别请求
for i in detail_url_list:
# 请求详情页,获得详情页的响应正文
detail_resp = request_detail_page(i)
# 解析详情页,得到最终结果
result = parse_detail_page(detail_resp)