python - 从网站抓取价格为零的问题
问题描述
嗨,我想从此代码中获取价格
import re
import requests
from bs4 import BeautifulSoup
list3 = []
r = requests.get('https://bama.ir/car/peugeot/')
soup = BeautifulSoup(r.text, 'html.parser')
res2 = soup.find_all('div', attrs={'class':'listdata'})
for item in res2:
z = re.findall(r'<span itemprop="price" content="([^"]*)">[^<]*</span>',str(item))
list3 += z
for item in list3:
print(item)
但此代码不返回“0”价格。我也想要“0”价格。有人能帮我吗?
解决方案
我想,您可能希望返回属性0
中的 s content
,这可能很接近:
import re
import requests
from bs4 import BeautifulSoup
list3 = []
r = requests.get('https://bama.ir/car/peugeot/')
soup = BeautifulSoup(r.text, 'html.parser')
res2 = soup.find_all('div', attrs={'class': 'listdata'})
# print(res2)
for item in res2:
z = re.findall(r'content="(\d*)"', str(item))
list3 += z
for item in list3:
print(item)
输出
145000000
145000000
77000000
77000000
0
116000000
116000000
106000000
106000000
105000000
105000000
0
58000000
3600000
0
0
142800000
142800000
35000000
35000000
0
如果您想简化/修改/探索表达式,它已在regex101.com的右上角面板中进行了说明。如果您愿意,您还可以在此链接中观看它如何与一些示例输入匹配。
推荐阅读
- python - 烧瓶 form.validate_on_submit() 没有响应
- json - 查询数据库以获得未知数量的参数
- javascript - 该结构将如何从 firebase 获取以下数据结构?
- aws-lambda - 获取调用时调用 lambda 的触发器
- excel - 在 vba/excel 中创建数据透视表的问题
- python - 如果复制 numpy 数组的一部分,如何正确取消引用?
- python - 如何从熊猫列表中选择一个元素?
- javascript - 创建一个显示 JSON 对象的对象层次结构的表
- javascript - 如何为发送消息的人添加角色(不和谐 JS)
- reactjs - api无需点击即可导航