当你从一个网站收到数据时,如果你登录后能看到数据,你怎么能访问它
from bs4 import BeautifulSoup
from selenium import webdriver
driver = webdriver.Chrome('c://chromedriver.exe')
driver.get("http://www.gevolution.co.kr/rank/history.asp")
soup = BeautifulSoup(driver.page_source, 'html.parser')
blocks = soup.findAll('div', {'class': 'grp'})
bodys = []
for block in blocks:
body = block.text
body = str(body).strip()
bodys.append(body)
print(bodys)
结果:[]
在我想收集的站点上收集数据的一些代码。顺便说一下,如果我打开Chrome自动,它将不会收集由于登录问题。我想知道如何解决登录问题
解决方案1
您可以locate the cookies,并使用该cookie启动selenium驱动程序。这不会永久解决问题,因为Cookie将在一段时间后过期
解决方案2
您可以通过模拟登录行为登录到网站。您可以使用selenium通过
element.click()
element.send_keys('value')
和selenium提供的许多其他魔术方法来模拟输入密码和用户名如果网站需要验证码才能登录,这将变得很困难。在这种情况下,您可以手动输入验证码,或者使用算法识别验证码,或者使用解决方案1
相关问题 更多 >
编程相关推荐