Невозможно l oop через bs4.element.ResultSet введите python с помощью Beautiful Soup - PullRequest
0 голосов
/ 08 мая 2020

См. Код:

```soup=BeautifulSoup(browser.page_source, "html.parser")
rlist=soup.find_all('div',{"class": "WMbnJf gws-localreviews__google-review"})# whole orange box class="WMbnJf gws-localreviews__google-review <REVIEW ID GOES HERE>

print('I REACHED HERE')
try:
    print('rlist type: ',type(rlist))
except:
    print('rlist:\n',rlist)
    #result=[]

for r in rlist:
    r1=r.find('div',{"class": "jxjCjc"})
    print('\n','r1 type: ',type(r1),'\n\n') ##

    r2=r1.find('div',{"class": 'TSUbDb'})
    personname=r2.text
    print(personname) ##
    try:
        r3=r1.find('div',{"class": 'Jtu6Td'})
        personreview=r3.text
    except:
        personreview='-' #Blank Review

    print(personreview)

    cur.execute('''INSERT INTO Reviews (placeid, name, review)
    VALUES ( ?, ?, ? )''', (pid, personname, personreview) )
    conn.commit()```

Я запускал код несколько раз и обнаружил, что весь for-l oop не работает. Не могу разобраться самостоятельно, пожалуйста, помогите !!

Вот код перед красивым парсером супа:

browser.get(placeidurl)                        

wait = WebDriverWait(browser, 10)
menu_bt = wait.until(EC.element_to_be_clickable(
                       (By.XPATH, '//g-dropdown-button[@class=\'dkSGpd NkCsjc\']'))
                   )
menu_bt.click()

recent_rating_bt=browser.find_element_by_xpath("//g-menu[@role='menu']//div[@class='znKVS'][text()='Newest']")

recent_rating_bt.click()
time.sleep(5)```
...