【发布时间】:2019-05-31 17:31:04
【问题描述】:
这里是新程序员。在我学习 python 的时候尝试 webscrape pof 网站。尝试使用请求和漂亮的汤进行网络抓取。提前致谢
错误似乎来自 res=requests.get('https://www.pof.com/everyoneonline.aspx?page_id=%s' %pageId) 行
我尝试删除分页页面,只刮一页,但没有成功 还尝试在每个请求之间使用 time.sleep 3 秒,但这也不起作用
#Username and password
username='MyUsername'
password='MyPassword'
#Login to pof site
from selenium import webdriver
import bs4,requests
browser = webdriver.Chrome(executable_path='/Users/Desktop/geckodriver-v0.24.0-win32/chromedriver.exe')
browser.get('https://www.pof.com')
linkElem= browser.find_element_by_link_text('Sign In')
linkElem.click()
usernameElem=browser.find_element_by_id('logincontrol_username')
usernameElem.send_keys(username)
passwordElem=browser.find_element_by_id('logincontrol_password')
passwordElem.send_keys(password)
passwordElem.submit()
#Webscraping online profile links from first 7 pagination pages
for pageId in range(7):
res=requests.get('https://www.pof.com/everyoneonline.aspx?page_id=%s' %pageId)
res.raise_for_status()
soup= bs4.BeautifulSoup(res.text)
profile = soup.findAll('div', attrs={'class' : 'rc'})
for div in profile:
print (div.findAll('a')['href'])
预期结果: 打印配置文件的所有 href 链接列表,以便稍后将它们保存到 csv
实际结果:
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(10054, '现有连接被远程主机强行关闭', None, 10054, None))enter code here
【问题讨论】:
-
您正在使用...请求和硒?通常您想使用其中一个,因为 requests 模块不会“看到” selenium 连接。在这种情况下,很可能该页面正在识别来自您的 IP 的两个并发连接并强制关闭一个或两个,因此“现有连接被远程主机强制关闭”
标签: python beautifulsoup python-requests