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

2024-09-22 14:20:40 发布

您现在位置:Python中文网/ 问答频道 /正文

当你从一个网站收到数据时,如果你登录后能看到数据,你怎么能访问它

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自动,它将不会收集由于登录问题。我想知道如何解决登录问题


Tags: 数据fromimport网站driverseleniumbodychrome
1条回答
网友
1楼 · 发布于 2024-09-22 14:20:40

解决方案1

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

解决方案2

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

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

相关问题 更多 >