python中.find函数的使用方法及实例_python 如何使用find和find_all爬虫、找文本的实现...
时间: 2024-04-02 11:33:41 浏览: 68
Python爬虫——用的最多的正则表达式以及re.findall()函数的用法
5星 · 资源好评率100%
Python中的字符串对象有一个名为`find()`的方法,它可以用来查找字符串中的指定子字符串,并返回找到的位置。它的基本语法如下:
```
str.find(sub[, start[, end]])
```
其中,`str`是要查找的字符串,`sub`是要查找的子字符串。`start`和`end`是可选参数,用于指定查找范围的起始和结束位置。如果找到了子字符串,返回它在字符串中的下标;如果没有找到,返回-1。
以下是一个使用`find()`方法的例子,它查找字符串中第一次出现子字符串的位置:
```python
str = "hello world"
index = str.find("world")
print(index)
```
输出结果为:`6`,因为"world"子字符串在字符串中的位置是从下标6开始的。
另外,如果要查找字符串中所有出现指定子字符串的位置,可以使用`find_all()`方法,它的语法如下:
```python
str.find_all(sub[, start[, end]])
```
这个方法返回一个列表,列表中包含了所有找到的子字符串的下标。以下是一个使用`find_all()`方法的例子:
```python
str = "hello world"
indexes = [i for i in range(len(str)) if str.startswith("l", i)]
print(indexes)
```
输出结果为:`[2, 3, 9]`,因为"l"子字符串在字符串中的位置是从下标2、3、9开始的。
在爬虫和文本处理中,`find()`和`find_all()`方法经常被用来查找指定的文本或标签。例如,在使用BeautifulSoup库解析HTML文档时,可以使用`find_all()`方法查找所有的指定标签,例如:
```python
from bs4 import BeautifulSoup
import requests
url = "http://www.example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
links = soup.find_all("a")
for link in links:
print(link.get("href"))
```
这段代码会爬取指定的网页,然后使用BeautifulSoup库解析HTML文档,最后查找所有的a标签,并打印它们的链接地址。
阅读全文