爬虫小知识2

1、request的使用

1.1 安装方法

pip install requests

1.2 基本的get请求

def get(url, params=None, **kwargs):
    r"""Sends a GET request.

    :param url: URL for the new :class:`Request` object.
    :param params: (optional) Dictionary, list of tuples or bytes to send
        in the query string for the :class:`Request`.
    :param \*\*kwargs: Optional arguments that ``request`` takes.
    :return: :class:`Response <Response>` object
    :rtype: requests.Response
    """
base_url =  'https://tieba.baidu.com/f?kw='+tieba_name+'&ie=utf-8&pn='
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
}

   # 获取贴吧的完整界面
   reponse = requests.get(url=url,headers=headers)
   print(reponse)

2、xpath

2.1 html与xml

名称作用
XML可扩展标记语言被设计用来传输和存储数据,焦点内容是数据
HTML超文本标记语言显示数据以及如何更好的显示数据
HTML_DOM文档对象模型可以通过HTML_DOM访问所有的HTML元素

2.2 XML实例以及部分知识点

<bookstore>
<book category="COOKING">
  <title lang="en">Everyday Italian</title> 
  <author>Giada De Laurentiis</author> 
  <year>2005</year> 
  <price>30.00</price> 
</book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title lang="en">Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore>
类型说明
每一个元素以属性都有一个父类
元素节点可以有0个、1个或者多个子
同胞拥有相同的父节点
先辈某节点的父、父的父…
后代每一个节点的子,子的子…

2.3 路径表达式

表达式说明
/代表从根节点选取
//从当前文档的任何位置找起,只要符合节点就行
@选取的是属性
.当前节点
当前节点的父节点
从根节点找起:/html/body/div[9]/div/ul/li[3]/a
类型说明
/html选取的是根元素html
//div选取的是所有的div子元素,不考虑节点在文档中的位置
div//span选择属于div元素的后代中所有的span元素,不管它位于div标签下的任何位置
//ul[@class=‘easySo’]相关表达式的配合使用
//@class选择名为class的属性

2.4 xpath etree的作用

str1 = '''
<div>this is a div
'''
doc = etree.HTML(str1)
str2 = etree.tostring(doc)
print(str2)

展示:
b'<html><body><div>this is a div\n</div></body></html>'

注意点:
1、tostring()转换的字符串是bytes类型
2、lxml可以补齐缺失的HTML标签,还可以自动添加html和body标签

2.5 测试

ret = html_doc.xpath('//span/i/text()')
print(ret)

注意点:
1、text()获取标签扩起来的内容
2、xpath返回的数据类型是一个列表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python爬虫小项目是利用Python编程语言进行网络爬取的一种应用,可以自动获取互联网上的数据,并进行处理和分析。对于初学者来说,Python爬虫小项目是一个很好的练习机会,可以巩固Python基础知识,并学习如何利用Python爬虫库来获取目标网页的内容。 一个简单的Python爬虫小项目可以包括以下步骤: 1. 导入所需的Python库,如requests和BeautifulSoup等。 2. 使用requests库发送HTTP请求,获取目标网页的内容。 3. 使用BeautifulSoup库对获取的网页内容进行解析和提取所需的数据。 4. 对提取的数据进行处理,如保存到本地文件、存储到数据库或进行进一步的分析。 5. 添加异常处理机制,应对可能出现的网络连接错误或网页解析错误等异常情况。 一个实际的例子是编写一个简单的天气预报爬虫程序。首先,我们可以使用requests库发送HTTP请求获取一个包含天气信息的网页内容。然后,使用BeautifulSoup库解析网页内容,并提取我们所需的天气数据。最后,我们可以将提取的天气数据以适当的格式展示出来,比如保存到CSV文件或打印到控制台。 通过完成这样的Python爬虫小项目,我们可以提高对Python编程语言和爬虫技术的理解和掌握,并且为进一步的复杂爬虫项目打下基础。同时,我们还能通过实践提升自己的问题解决和调试能力,提高自己的编程水平和综合能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值