用正则表达式获取链家网标签为<div='content_pg'>的代码
时间: 2024-04-01 18:34:10 浏览: 8
可以使用正则表达式和 requests 库来获取链家网标签为 `<div class="content_pg">` 的代码,代码示例如下:
```python
import re
import requests
url = 'https://jn.lianjia.com/zufang/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
html = response.text
pattern = re.compile(r'<div class="content_pg">.*?</div>', re.S)
result = pattern.findall(html)
print(result)
```
这里使用了正则表达式 `<div class="content_pg">.*?</div>`,其中 `.*?` 表示匹配任意字符,非贪婪模式,直到遇到 `</div>` 结束匹配。`re.S` 标志表示让 `.` 匹配任何字符,包括换行符。
相关问题
用正则表达式获取链家网标签为<div='content__pg'>中data-totalpage属性值的代码
可以使用正则表达式和 requests 库来获取链家网标签为 `<div class="content__pg">` 中 `data-totalpage` 属性值的代码,代码示例如下:
```python
import re
import requests
url = 'https://jn.lianjia.com/zufang/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
html = response.text
pattern = re.compile(r'<div class="content__pg".*?data-totalpage="(\d+)".*?>', re.S)
result = pattern.findall(html)
print(result)
```
这里使用了正则表达式 `<div class="content__pg".*?data-totalpage="(\d+)".*?>`,其中 `(\d+)` 表示匹配一个或多个数字,并将其作为一个分组,方便后续调用。`re.S` 标志表示让 `.` 匹配任何字符,包括换行符。
如果匹配成功,`result` 的值将是一个列表,包含所有满足条件的匹配结果。如果没有匹配成功,`result` 的值将是一个空列表。
语言是javaScript 如何通过正则获取某个类名的div里的内容,比如获取<div class="signature><div>124</div><div>1212</div></div>里<div class="signature></div>里的代码。如一个字符串是“<div class="signature><div>124</div><div>1212</div></div>”这个,那我要获取的是这个字符串里的“<div>124</div><div>1212</div>”
你可以使用正则表达式结合JavaScript的`match()`方法来获取特定类名的`div`里的内容。以下是一个示例代码:
```javascript
const str = '<div class="signature"><div>124</div><div>1212</div></div>';
const className = 'signature';
// 构建正则表达式
const regex = new RegExp(`<div class="${className}">(.*?)<\/div>`, 'g');
// 使用 match 方法匹配正则表达式
const matches = str.match(regex);
// 打印匹配到的结果
console.log(matches);
```
在上述代码中,我们首先定义了一个字符串`str`,其中包含了你提供的示例字符串。然后,我们定义了一个变量`className`,用于存储目标类名。
接下来,我们使用`new RegExp()`构造函数创建了一个正则表达式,该表达式用于匹配特定类名的`div`标签及其内容。其中,`<div class="${className}">(.*?)<\/div>`表示匹配以`<div class="className">`开头、`<\/div>`结尾的部分,并捕获中间的内容。
最后,我们使用字符串的`match()`方法,传入上述正则表达式作为参数,来获取所有匹配的结果。这将返回一个数组,其中包含了所有符合条件的字符串。
在上述示例中,输出结果将是`["<div>124</div><div>1212</div>"]`,即包含目标类名的`div`标签及其内容的字符串。你可以根据自己的需求进一步处理这个结果。