Получение имени и электронной почты с веб-страницы
Я пытаюсь извлечь данные из ссылки. Я хочу получить имя / адрес электронной почты / местоположение / и т.д. с веб-страницы и вставить его на веб-страницу. Я написал код для него всегда, когда я запускаю этот код, он просто хранит пустой список.
Пожалуйста, помогите мне скопировать эти данные с веб-страницы.
Я хочу получить название компании, адрес электронной почты, номер телефона из этой ссылки и поместить это содержимое в файл Excel. Я хочу сделать то же самое для всех страниц сайта. У меня есть логика для получения ссылок в браузере и переключения между ними. Я не могу получить данные с сайта. Кто-нибудь может предоставить мне улучшение кода, который я написал.
Ниже приведен код, который я написал:
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
from lxml import html
import requests
import xlwt
browser = webdriver.Firefox() # Get local session of firefox
# 0 wait until the pages are loaded
browser.implicitly_wait(3) # 3 secs should be enough. if not, increase it
browser.get("http://ae.bizdirlib.com/taxonomy/term/1493") # Load page
links = browser.find_elements_by_css_selector("h2 > a")
#print link
for link in links:
link.send_keys(Keys.CONTROL + Keys.RETURN)
link.send_keys(Keys.CONTROL + Keys.PAGE_UP)
#tree = html.fromstring(link.text)
time.sleep(5)
companyNameElement = browser.find_elements_by_css_selector(".content.clearfix>div>fieldset>div>ul>li").text
companyName = companyNameElement
print companyNameElement
HTML-код приведен ниже
<div class="content">
<div id="node-946273" class="node node-country node-promoted node-full clearfix">
<div class="content clearfix">
<div itemtype="http://schema.org/Corporation" itemscope="">
<fieldset>
<legend>Company Information</legend>
<div style="width:100%;">
<div style="float:right; width:340px; vertical-align:top;">
<br/>
<ul>
<li>
<strong>Company Name</strong>
:
<span itemprop="name">Sabbro - F.Z.C</span>
</li>
</ul>
когда я использую его, это дает мне ошибку, list' object has no attribute 'text'
, Может кто-нибудь помочь мне улучшить код и заставить его работать. Я вроде как застрял навсегда в этом вопросе.
1 ответ
companyNameElement = browser.find_elements_by_css_selector(".content.clearfix>div>fieldset>div>ul>li").text
companyName = companyNameElement
print companyNameElement
find_elements_by... возвращает список, вы можете получить доступ к первому элементу этого списка или использовать эквивалентный метод find_element_by..., который получит только первый элемент.