帮我写一段爬取网页内容的python代码,要求可以自动翻页
时间: 2024-10-22 19:28:06 浏览: 31
在Python中,你可以使用Selenium库来爬取动态加载或有翻页功能的网页。这里是一个基本的例子,假设我们正在爬取一个分页的列表,每页都有一个"下一页"按钮:
```python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 使用Chrome浏览器(替换为你实际使用的浏览器)
driver = webdriver.Chrome()
base_url = 'http://example.com/page'
next_button_locator = (By.XPATH, '//a[text()="下一页"]') # 需要根据页面结构调整定位元素的XPath表达式
# 主循环,直到没有更多页面
while True:
driver.get(base_url)
# 查找并点击下一页按钮
try:
next_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located(next_button_locator))
next_button.click()
except Exception as e:
print(f"无法找到下一页:{e}")
break # 如果找不到,我们就认为已经到了最后一页
# 提取当前页面的数据(这取决于你要爬取的具体数据,比如CSS选择器或XPath)
data = driver.find_elements_by_css_selector('div.item') # 例子:假设每个条目是<div class="item">...</div>
for item in data:
print(item.text)
# 关闭浏览器
driver.quit()
```
记得先安装所需的依赖项,如`selenium`和对应的浏览器驱动,然后根据实际情况调整URL、定位器和数据提取部分。
阅读全文