收集数据时如何解决登录问题?

时间:2018-09-27 07:12:13

标签: python python-3.x selenium beautifulsoup

从网站接收数据时,如果登录后可以看到数据,该如何访问?

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 个答案:

答案 0 :(得分:0)

解决方案1 ​​

您可以locate the cookies,并使用该cookie来启动Selenium驱动程序。这将无法永久解决问题,因为cookie会在一段时间后过期。

解决方案2

您可以通过模拟登录行为来登录网站。您可以使用硒通过element.click() element.send_keys('value')和硒提供的许多其他魔术方法来模拟密码和用户名的输入。

如果网站需要验证码登录,这将变得很困难。在这种情况下,您可以手动输入验证码,或者使用算法来识别验证码,或者使用解决方案1。