Извлечение ключевого слова data = из <class 'bs4.element.Tag'> - PullRequest
0 голосов
/ 15 июня 2019

Я извлекаю данные из класса класса bs4.element.Tag, когда я печатаю элемент.Я хочу извлечь исключительно часть «data-keyword =», поэтому в основном просто ключевое слово, но безуспешно.

Это то, что я уже пробовал в дополнение к чтению предыдущих статей:

import time
from bs4 import BeautifulSoup
from selenium import webdriver

browser = webdriver.Chrome('chromedriver.exe')
keyList = ['a','b','c']
mainUrl = "https://www.amazon.com/"
browser.get(mainUrl)
searchInput = browser.find_element_by_xpath('//input[@id="twotabsearchtextbox"]')
searchInput.clear()
for keyChar in keyList:
        time.sleep(2)
        searchSoup = BeautifulSoup(browser.page_source, "html.parser")
        searchResult = searchSoup.find_all('div', attrs={'id':'suggestions-template'})
        results = searchResult[0].find_all('div', attrs={'class':'s-suggestion'})
        time.sleep(1)
        for x in results:
            print(x)
            print(type(x))
            narrow_down = x.find_all('div', attrs={'data-keyword:'})
            print(narrow_down)

Вот что я получаю:

<div class="s-suggestion" data-alias="aps" data-crid="2D6LIH2IP11XU" data-isfb="false" data-issc="false" data-keyword="amazon gift cards" data-nid="" data-reftag="nb_sb_ss_i_1_1" data-store="" data-type="a9" id="issDiv0"><span class="s-heavy"></span>a<span class="s-heavy">mazon gift cards </span></div>
<class 'bs4.element.Tag'>
[]

Как мне распечатать только ключевое слово data =?

1 Ответ

0 голосов
/ 15 июня 2019

Решение - изменить тип на ул. После изменения типа извлеките из него подстроку. new_str = str (x)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...