Python爬虫翻页处理常见两种方法:手动翻页:简单易行,需手动指定每个页面URL;自动翻页:通过Scrapy或BeautifulSoup4库实现,提高效率,无需手动指定页码。

Python爬虫翻页处理
在使用Python爬虫抓取网页数据时,经常会遇到多页面的情况,需要对各个页面进行翻页处理。
方法一:手动翻页
<code class="python">import requests
from bs4 import BeautifulSoup
# 设置要爬取的网址列表
urls = ['https://example.com/page1', 'https://example.com/page2', 'https://example.com/page3']
# 循环访问每个网址
for url in urls:
# 发送HTTP请求,获取页面内容
response = requests.get(url)
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 提取数据
...</code>方法二:使用库自动翻页
立即学习“Python免费学习笔记(深入)”;
Scrapy是一个流行的Python爬虫框架,提供了自动翻页功能。
<code class="python">import scrapy
class ExampleSpider(scrapy.Spider):
name = 'example'
start_urls = ['https://example.com/page1']
# 重写parse方法,处理自动翻页
def parse(self, response):
# 提取数据
...
# 获取下一页的URL
next_page_url = response.css('a[rel="next"]::attr(href)').get()
# 如果存在下一页,则递归抓取
if next_page_url is not None:
yield scrapy.Request(next_page_url, callback=self.parse)</code>BeautifulSoup4也提供了一些翻页辅助方法。
<code class="python">from bs4 import BeautifulSoup
# 获取当前页面的URL
current_url = 'https://example.com/page1'
# 循环翻页,直到最后一页
while True:
# 发送HTTP请求,获取页面内容
response = requests.get(current_url)
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 提取数据
...
# 获取下一页的URL
next_page_url = soup.find('a', {'rel': 'next'})['href']
# 如果不存在下一页,则退出循环
if next_page_url is None:
break
# 更新当前页面的URL
current_url = next_page_url</code>以上就是python爬虫翻页怎么处理的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号