编程-填空-大数据-1-豆瓣电影-南宁正在热影 分别使用正则表达式,xpath,PyQuery,bs4
时间: 2024-11-09 21:19:00 浏览: 24
在豆瓣电影网站上获取南宁正在热映的电影信息,通常需要先抓取网页数据,然后解析提取相关信息。这里分别使用正则表达式、XPath、PyQuery (基于lxml库) 和 BeautifulSoup (基于BeautifulSoup库) 来展示如何做:
**1. 正则表达式:**
由于HTML结构复杂,直接使用正则表达式可能会困难,但假设某个特定元素包含电影信息,可以尝试匹配类似`class="movie-name"`这样的属性。示例:
```python
import re
html = ... # 网页源码
movies = re.findall(r'<span class="movie-name">(.*?)</span>', html)
```
**2. XPath:**
在Python中,可以使用如Selenium配合lxml库获取XPath路径下的内容:
```python
from lxml import etree
tree = etree.HTML(html)
movies = tree.xpath('//div[@class="movie-item active"]//span[@class="movie-name"]')
```
**3. PyQuery (基于lxml):**
```python
from pyquery import PyQuery as pq
movies = pq(html)('.movie-item.active .movie-name').text()
```
**4. BeautifulSoup:**
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
movies = [i.text for i in soup.find_all('span', {'class': 'movie-name'}) if 'active' in i.parent.get('class')]
```
以上都是简化示例,实际应用中可能需要处理分页、动态加载内容等问题,并根据豆瓣电影的具体页面结构进行调整。
阅读全文