不用BeautifulSoup
时间: 2024-10-28 07:01:05 浏览: 5
如果你不想使用BeautifulSoup这样的HTML解析库,也可以尝试使用Python的内置`re`模块(正则表达式)来提取数据,但这会依赖于HTML的固定模式。例如,如果电影名和评分的标签都是`<p>`标签内的文本,可以尝试以下简化的代码:
```python
import re
import requests
url = "https://movie.douban.com/top250"
response = requests.get(url)
if response.status_code == 200:
pattern = r'<p>(.*?)</p>\s*<span class="rating_num">(.*?)</span>' # 此处假设电影名在第一个括号里,评分在第二个括号里,中间可能有空格和换行
matches = re.findall(pattern, response.text)
for match in matches:
title, rating = match
print(f"电影名:{title.strip()}, 评分:{rating.strip()}") # 使用strip去除前后空格
else:
print("请求失败,状态码:", response.status_code)
```
但是请注意,这种方法依赖于HTML的精确布局,如果布局稍有变化,就可能无法准确匹配。因此,除非你知道URL的具体HTML结构,否则推荐使用像BeautifulSoup这样的库,它们能更好地处理复杂的HTML结构。
阅读全文