мне нужно, чтобы захватить имя человека (Alex Key здесь) из разметки, как это:Как искать значения с BeautifulSoup
<div class="link_container">
<a class="follow_card" data-uuid="e47443373cfa93d5341ab809f0700b82"
data-type="person" data-name="Alex Key" data-permalink="/person/alex-acree-2"
data-image="" data-follower-count="0" href="/person/alex-key-2">Alex Key</a></div>
Стараюсь код:
from django.shortcuts import render
import time
from bs4 import BeautifulSoup
from selenium import webdriver
from django.http import HttpResponse
import os
def impTxt(request):
abs_path = os.path.dirname(__file__) # i.e. /path/to/dir/
root_dir = os.path.split(abs_path)[0] #i.e. /path/to/root_of_project/
imp_file_path = "files/links.txt"
abs_imp_file_path = os.path.join(root_dir, imp_file_path) # abs_path to file
with open(abs_imp_file_path, 'r') as inputfile:
imp_txt = []
# print imp_txt
for line in inputfile:
imp_txt.append(str(line).strip('[]'))
print line
# print imp_txt
for link in imp_txt:
# print link
driver = webdriver.Chrome('/Volumes/Storage/downloads_storage/chromedriver')
driver.get(link)
driver.set_window_position(0, 0)
driver.set_window_size(100000, 200000)
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(1)
soup = BeautifulSoup(driver.page_source, "lxml")
text = soup.find('a',{'class': 'follow_card'}).getText()
print text
# content = {
# 'text':text,
# }
return render(request, "web/parser.html",{})
, но не получают ничего. Укажите способ поиска переменных внутри тега. ОБНОВЛЕНО
: добавлен полный код метода
"KeyError at/web/parser/ 'data-name'" – Andriy
@ AndriyKravchenko, можете ли вы поделиться с нами значением 'driver.page_source'? – sc3w
Страница, которую я пытаюсь проанализировать: https: //www.crunchbase.com/organization/apple/people и, похоже, защищает ее от разбора. Вот мой вывод на консоль, если я печатаю суп: https: //gist.github.com/avkpol/1c298a04e4628ec162d72fc3397ee0ef – Andriy