python - python 从网站抓取网页
问题描述
嗨,我使用 BeautifulSoup 从https://maktabkhooneh.org/plus/捕获 {'class':'course-card__title'} 我现在想找到所有(THIS)THIS 并打印它我的代码是:
import re
import requests
from bs4 import BeautifulSoup
r = requests.get('https://maktabkhooneh.org/plus/')
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('div', attrs={'class':'course-card__title'})
print(results)
x = re.findall(r'\<div class=\'course-card__title\'>(\w+)\<\/div\>',results)
print(x)
但我有错误有人可以帮助我吗?
解决方案
我不认为你真的想要这里的正则表达式,我猜。您可能希望遍历results
.
测试 1
import re
import requests
from bs4 import BeautifulSoup
r = requests.get('https://maktabkhooneh.org/plus/')
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('div', attrs={'class': 'course-card__title'})
for item in results:
print(item.text)
输出 1
آموزش تحلیل داده با زبان برنامه نویسی R (مقدماتی)
IELTS: Listening
آموزش تحليل تكنيكال مقدماتی
آموزش برنامهنویسی با پایتون (پیشرفته)
General English: Beginner
Grammar for IELTS
آموزش میکروکنترلر ARM
آموزش پایتون مقدماتی
但如果你这样做,也许你想re.findall()
用 a包装你的输入str()
:
测试 2
import re
import requests
from bs4 import BeautifulSoup
r = requests.get('https://maktabkhooneh.org/plus/')
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('div', attrs={'class': 'course-card__title'})
for item in results:
x = re.findall(
r'<div class="course-card__title">([^<]*)</div>', str(item))
print(x)
输出 2
['آموزش تحلیل داده با زبان برنامه نویسی R (مقدماتی)']
['IELTS: Listening']
['آموزش تحليل تكنيكال مقدماتی']
['آموزش برنامه\u200cنویسی با پایتون (پیشرفته)']
['General English: Beginner']
['Grammar for IELTS']
推荐阅读
- console - 尝试在 MMC 控制台中生成 CSR 时出现错误“'未定义提供程序类型'
- css - Bootstrap 移动背景图片
- javascript - Highcharts:以自定义布局将多个图表导出为 pdf
- winrt-xaml - 如果计时器停止或重新加载 UI,后台线程会发生什么情况 c++ winrt
- c - 验证输入进入无限循环
- firebase - Flutter/Firebase - firebase 中预定义用户的身份验证(电话身份验证)
- c++ - 用于 3D 建模和游戏控制程序的 C++ 项目类型
- javascript - 如何使用 jquery 和缩放(css)放大/缩小每个 div 中的每个图像?
- ngrx - 我们可以将 NgRx 数据与分页样式的 REST API 响应一起使用吗?
- javascript - 我正在尝试将变量的值分配给“数据索引”属性