【发布时间】:2018-08-10 21:57:08
【问题描述】:
我正在尝试抓取一个网站,我正在使用 Selenium 来帮助我完成它,但是我遇到了问题。我需要检查 150 页,它们的格式为 "base_url&page=X"。但是当我打电话给driver.get("base_url&page=x") 时,它会出于某种原因剥离&page=x。
当我打印链接时,它正确显示为"base_url&page=X",但当我点击它时它会打开base_url,但如果我复制并粘贴链接,它会将我带到正确的页面——@987654326 @。
知道问题是什么或如何解决它吗?
for i in range(1, 5):
page_url = BASE_URL + "&page=" + str(i)
parsed_site = get_page(page_url)
def get_page(url):
DRIVER = webdriver.Chrome(chrome_options=chrome_options)
DRIVER.get(url)
time.sleep(2)
data = DRIVER.page_source
DRIVER.close()
return BeautifulSoup(data, "html.parser")
关于后续回答的堆栈超时:
Traceback (most recent call last):
File "/Users/x/PycharmProjects/proj/src/scraper3.py", line 335, in <module>
sys.exit(main())
File "/Users/x/PycharmProjects/proj/src/scraper3.py", line 309, in main
parsed_site = get_next_page(DRIVER, page_url)
File "/Users/x/PycharmProjects/proj/src/scraper3.py", line 267, in get_next_page
DRIVER.get(url)
File "/Users/x/PycharmProjects/proj/venv/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 324, in get
self.execute(Command.GET, {'url': url})
File "/Users/x/PycharmProjects/proj/venv/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 312, in execute
self.error_handler.check_response(response)
File "/Users/x/PycharmProjects/proj/venv/lib/python2.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout
(Session info: chrome=64.0.3282.167)
(Driver info: chromedriver=2.35.528157 (4429ca2590d6988c0745c24c8858745aaaec01ef),platform=Mac OS X 10.13.3 x86_64)
【问题讨论】:
-
你能发布你的
code吗? -
我添加了代码。
-
如果你硬编码
url = "base.com/&page=3",它会带你到正确的页面吗? -
另外,请先尝试前往
BASE_URL,然后前往&page=x,看看在前往这些页面之前是否需要加载域。您能与我们分享网站吗? -
不,它总是删除 '&page=3' 部分。如果是某种解析问题,则网址如下所示:“base.com/test.php/?date_from=2014&date_to=2018&page=3”
标签: python python-2.7 selenium