爬虫复习二(结构化数据 and 非结构化数据/数据提取方法/xpath解析/设置代理)

结构化数据 and 非结构化数据

结构化数据:先有数据,再有结构
非结构化数据:先有结构,再有数据

数据提取方法?

1.正则表达式提取
2.xpath解析
3.BeautifulSoup4解析库

xpath解析

什么是xpath?

XPath (XML Path Language) 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。

**什么是XML?

  • XML 指可扩展标记语言(EXtensible Markup Language)
    * XML 是一种标记语言,很类似 HTML
    * XML 的设计宗旨是传输数据,而非显示数据
    * XML 的标签需要我们自行定义。
    * XML 被设计为具有自我描述性。
    * XML 是 W3C 的推荐标准

常见的路径表达式?

表达式           			描述     
nodename              选取此节点的所有子节点。
/                     从根节点选取。
//                    从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
.                     选取当前节点。
..                    选取当前节点的父节点。
@                     选取属性。
//title | //price     选取文档中的所有 title 和 price 元素。

使用**

from lxml import etree
html = etree.HTML(html)
> 构造一个Xpath解析对象,并且走动修正HTML文本

text()获取标签文本

@属性名 获取标签属性值

属性多值匹配函数 contains(@class,'li')


request_cookies

#获取cookies

# pip install requests
import requests
url = 'http://www.baidu.com/'
#
#params:跟的是get请求url地址后?后面拼接的参数
headers = {
    'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36'
}

response = requests.get(url=url,params=None,headers=headers)

#获取响应结果
# print(response.text)  #页面源码
print(response.status_code)  #状态码
print(response.headers) #响应头
# print(response.request.headers) #获取请求头
# print(response.content)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值