Как пропустить или усечь символ или символы из текста мне нужно. Соскоб с красивым супом - PullRequest
1 голос
/ 07 ноября 2019

Мне нужно получить цену (61 990) между тегом div, но как мне избавиться от символа валюты?

enter image description here

То же, что и здесьМне нужно только получить рейтинг (4.7), но после этого мне ничего не нужно, например, img src. Как я могу игнорировать это? Или пропустить это?

enter image description here

Пример кода:

from bs4 import BeautifulSoup
import requests

price = []
ratings=[]
response = requests.get("https://www.flipkart.com/laptops/~buyback-guarantee-on-laptops-/pr?sid=6bo%2Cb5g&uniq")
soup = BeautifulSoup(response.text, 'html.parser')
for a in soup.findAll('a',href=True, attrs={'class':'_31qSD5'}): 
    price=a.find('div', attrs={'class':'_1vC4OE _2rQ-NK'})
    rating=a.find('div', attrs={'class':'hGSR34'})

1 Ответ

1 голос
/ 07 ноября 2019

Здесь. Вам просто нужно использовать метод .text и обращаться с ним как с обычной строкой. В этом случае сохраните все символы, кроме первого.

from bs4 import BeautifulSoup
import requests

price = []
ratings=[]
response = requests.get("https://www.flipkart.com/laptops/~buyback-guarantee-on-laptops-/pr?sid=6bo%2Cb5g&uniq")
soup = BeautifulSoup(response.text, 'html.parser')
for a in soup.findAll('a',href=True, attrs={'class':'_31qSD5'}):
    price=a.find('div', attrs={'class':'_1vC4OE _2rQ-NK'}).text[1:]
    rating=a.find('div', attrs={'class':'hGSR34'}).text
print(price)
print(rating)
Out[110]: '4.3'
Out[111]: '52,990'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...