python用reqursts库和re库,爬取<div class=“bnm”><li>123</li></div>中的文本123
时间: 2023-08-31 19:43:10 浏览: 201
### 回答1:
可以使用以下代码来使用Python中的requests库和re库爬取<div class="bnm"><li>123</li></div>中的文本123:
```
import requests
import re
url = "这里填写要爬取的网页的URL"
response = requests.get(url)
pattern = r'<div class="bnm"><li>(\d+)</li></div>'
match = re.search(pattern, response.text)
if match:
result = match.group(1)
print(result)
else:
print("没有找到匹配的文本。")
```
解释一下代码:
1. 导入requests和re库。
2. 将要爬取的网页的URL存储在变量url中。
3. 使用requests.get()函数获取该网页的HTML响应,将响应保存在response变量中。
4. 使用正则表达式模式r'<div class="bnm"><li>(\d+)</li></div>'来匹配包含数字的<li>标签。
5. 使用re.search()函数在response.text中搜索正则表达式匹配项。
6. 如果找到了匹配项,则使用match.group(1)提取匹配项中的数字,将结果存储在变量result中。
7. 如果没有找到匹配项,则打印出一条相应的错误信息。
8. 最后,将结果输出到屏幕上。
### 回答2:
首先,我们需要导入requests库和re库:
```
import requests
import re
```
然后,我们可以使用requests库发送HTTP请求,并获取网页的内容:
```
response = requests.get('http://example.com')
```
接下来,我们可以使用re库中的正则表达式来匹配我们想要的文本。根据题目中给出的例子,我们可以使用以下正则表达式:
```
pattern = r'<div class="bnm"><li>(.*?)</li></div>'
```
然后,我们可以使用re.findall()函数来查找所有匹配pattern的结果,并将结果存储在一个列表中:
```
result = re.findall(pattern, response.text)
```
最后,我们可以通过访问result列表的第一个元素来获得想要的文本"123":
```
text = result[0]
```
完整的代码如下:
```
import requests
import re
response = requests.get('http://example.com')
pattern = r'<div class="bnm"><li>(.*?)</li></div>'
result = re.findall(pattern, response.text)
text = result[0]
print(text)
```
请注意,这只是一个简单的示例,实际爬取网页时可能需要考虑更多的异常处理和错误检查。
### 回答3:
要使用Python的requests库和re库来爬取<div class="bnm"><li>123</li></div>中的文本123,可以按照以下步骤操作:
首先,使用requests库发送一个GET请求来获取页面内容。可以使用requests库的get()函数,并将目标网页的URL作为参数传递进去。例如:
```python
import requests
url = "目标网页的URL"
response = requests.get(url)
```
然后,使用re库中的findall()函数和正则表达式来提取目标文本。在这种情况下,我们可以利用正则表达式`<div class="bnm"><li>(.*?)</li></div>`来匹配目标文本。例如:
```python
import re
pattern = r'<div class="bnm"><li>(.*?)</li></div>'
result = re.findall(pattern, response.text)
```
这里的`response.text`是上一步请求得到的网页内容,`re.findall()`函数会返回一个列表,其中包含与正则表达式匹配的所有文本。
最后,可以打印或者对result列表中的内容进行进一步处理,得到我们要爬取的文本123:
```python
print(result[0])
```
注意,由于findall()函数返回的是一个列表,所以我们可以通过索引来获取其中的元素。
以上就是使用requests库和re库来爬取<div class="bnm"><li>123</li></div>中的文本123的简单示例。
阅读全文