Так что я использую этот код для получения: -
- Все полужирный шрифт / теги из результатов поиска Google
- Весь текст внутри каждой из ссылок результатов поиска
Но я не могу их всех достать.Не удается выполнить некоторые теги, а также весь текст, что не имеет смысла, так как я извлекаю все содержимое тега.
import requests
import json
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36'}
from selenium import webdriver
browser=webdriver.Firefox()
link=("https://www.google.co.in/search?rlz=1C1CHBD_enIN789IN790&ei=P4b9Wp4MxPP1A67gk-gI&q=%28%27United+States%27%2C+%27US+DOL+OASAM+-+OCIO%27%2C+%27200+CONSTITUTION+AVE+NW%27%29&oq=%28%27United+States%27%2C+%27US+DOL+OASAM+-+OCIO%27%2C+%27200+CONSTITUTION+AVE+NW%27%29&gs_l=psy-ab.3...44692.45689.0.46041.0.0.0.0.0.0.0.0..0.0....0...1c.1.64.psy-ab..0.0.0....0.DqJsrKbp_Js")
browser.get(link)
s=requests.get(browser.current_url, headers=headers)
soup =BeautifulSoup(s.content,'html.parser')
for i in soup.findAll("div", {"class": "s"}):
for k in i.findAll("span",{"class":"st"}):
print (k.text)
Требуется ВЫБОР ВЫБОРА:
OASAMКонтакты.Информация о Национальном и Региональном офисе ОАСАМ.Национальный> Офис: Главный офис.Офис помощника секретаря по административным и управленческим вопросам Министерства труда США, проспект Конституции, 200, СЗ.Люкс S-> 2203.Вашингтон, округ Колумбия, 20210. Телефон: (202) 693-4040.Факс: (202) 693-4055.Бизнес ...
Приведенный выше код не может извлечь весь текст, видимый в браузере, и печатает только частичный текст.
===========================================================================
Аналогично, при попытке извлечь весь жирный текст из результатов поиска, я не получаю все жирный текст.Многие из них не извлекаются, даже если они находятся в той же окрестности, как определено тегом
for i in browser.find_elements_by_class_name("st"):
for k in (i.find_elements_by_tag_name("em")):
print (k.text)
print ("=====")
. Для первой ссылки должно быть напечатано (Требуется ВЫБОР ВЫБОРА): -
OASAM
OASAM
Министерства труда США, проспект Конституции 200, СЗ