Я нашел одно решение. Вы должны использовать селен webdriver
в режиме headless
, получить page_source
от драйвера и дать немного time.sleep()
. Я проверил данные, которые он показывает, как и ожидалось.
Однако я не знаю ваш список URL, поэтому вы можете создать свой список и попробовать его. Дайте мне знать, если вам нужна дополнительная помощь.
from selenium import webdriver
from bs4 import BeautifulSoup
import time
teamlinks=['http://www.premierleague.com//clubs/1/Arsenal/squad?se=79','http://www.premierleague.com//clubs/1/Arsenal/squad?se=54']
playerLink1 = []
playerLink2 = []
for i in range(len(teamlinks)):
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
chrome_options.add_argument('window-size=1920x1080');
driver = webdriver.Chrome(options=chrome_options)
driver.get(teamlinks[i])
time.sleep(10)
squadPage=driver.page_source
soup = BeautifulSoup(squadPage, 'html.parser')
playerLocation = soup.findAll('a', class_=re.compile("playerOverviewCard"))
for i in range(len(playerLocation)):
#Save the link, complete with domain.
playerLink1.append("http://www.premierleague.com/" +
playerLocation[i]['href'] + '?se=79')
#For the second link, change the page from player overview to stats
playerLink2.append(playerLink1[i].replace("overview", "stats"))
driver.quit()
print(playerLink2)
The only one of those I've used is JSF, so I won't be able to give you feedback on the others, but here's my take on JSF. In my experience, the minute we converted from JSF in JSP to JSF in facelets, life got MUCH easier, so I'll focus around facelets. Also, It looks like Seam and JSF are not mutually exclusive.
Pros:
Cons:
I'm by no means an expert in JSF/Facelets, so I'm sure there are others I've missed. Hopefully someone else will also elaborate.
Update for JSF 2.0:
Seam - это структура приложения, а не уровень представления. Первоначально он был разработан для того, чтобы сделать JSF менее болезненным, но превратился в более универсальную среду внедрения зависимостей.
Я считаю, что вы можете использовать Seam с JSF, Wicket и GWT. Поддержка JSF является первичной и превосходной; Я не уверен, насколько хорошо поддерживаются другие два.
Поскольку ваши критерии, по-видимому, ориентированы на конкурентоспособность ваших навыков, я бы предложил опробовать Seam и JSF через Facelets. JSF является общепринятым стандартом, и его действительно приятно использовать, если вы используете Facelets. Вы можете иметь отличную функциональность AJAX через Richfaces и Ajax4jsf. Шов более или менее стандартизирован через JCP.
В долгосрочном сценарии я бы рекомендовал использовать технологии, основанные на спецификации Sun. До сих пор доказано, что это дает несколько реализаций, приводящих к выбору (часто также реализации с открытым исходным кодом), плюс поведение имеет тенденцию быть очень хорошо определенным.
Это поможет вам в сценарии сопровождения, который, - мы надеемся, - ваш код закончится тоже вовремя. Хорошо написанный код живет вечно :)
В этом конкретном сценарии я бы предложил JSF. Я только попробовал реализацию Apache 1.1, но было больно быть на вершине JSP. Мы должны пересмотреть это в ближайшее время - я ожидаю рассмотреть вопрос о JSF на лицевых сторонах.
Я довольно часто использовал Wicket и GWT. Так и не научился любить Wicket.
Мое эго писало об этом в блоге http://salk31.blogspot.com/2009/07/wicket-ajax.html
Сегодняшний взгляд на GWT 2.0 uiBinder напомнил мне, как раздражает в Wicket нужно было сопоставить дерево компонентов XML с деревом, созданным на Java. На мой взгляд, GWT выглядит намного лучше.
I '
JSF устарел (JSF даже не указан как фреймворк для сравнения, когда евангелисты сравнивают или говорят о веб-фреймворках в 2010 году).
Теперь полноценные крупномасштабные приложения создаются с использованием GWT, YUI, JQuery и т.д.
Почитайте несколько статей в google и все станет ясно.
(ВСЕ ДЖОБС на JSF - это поддержка старых приложений).
Если вы рассматриваете только рынок труда, вам следует выбрать JSF. Но я считаю, что будущее RIA принадлежит GWT и gwt, как технологиям клиентской стороны.
Я думаю, что самый очевидный плюс GWT в том, что он лучше масштабируется, чем технологии презентационного слоя на стороне сервера, такие как JSF, wicket. Потому что, серверу не нужно хранить состояние клиента и мощность процессора клиента также используется. Это огромное преимущество, вам не нужно сериализовать состояние клиента между компьютерами сервера для достижения отказоустойчивой системы.
Спасибо, ребята, калитки, что остались трезвыми и продолжили обсуждение. Я пользуюсь калиткой, и мне это нравится. Мои основные причины:
Я могу позволить дизайнерам работать над шаблонами и страницами, как я работаю над java-частями.
Нет ничего нового для изучения. Это «просто java и только HTML»
Мой предыдущий опыт - GWT и JSF 1.0
Я использую GWT с версии 1.4 и JSF с момента выхода спецификации 2.0.
GWT — это фреймворк на стороне клиента, он генерирует JavaScript из Java. Ваша архитектура будет чисто клиент-серверной, что означает:
JSF — это фреймворк, основанный на компонентах , с дизайном, ориентированным на просмотр (код программной части, если хотите):
Резюме: