在Python中实现爬虫翻页,通常有以下几种方法:
基于数字后缀的分页
观察网页链接,找到分页数字后缀的规律。
使用循环或`range()`生成数字序列,附加到URL中,逐页访问。
基于链接的分页
使用HTML解析库(如BeautifulSoup)找到下一页链接。
递归访问链接,直到找到最后一页或满足条件。
使用框架
使用Scrapy框架,它内置了翻页机制,可以方便地处理分页。
使用API接口
如果网站提供了API接口,可以直接通过API获取分页数据。
模拟浏览器操作
使用Selenium等工具模拟用户操作,如点击下一页按钮,来获取分页数据。
下面是一个简单的示例,使用循环遍历页面链接实现翻页:
import re
import requests
from lxml import etree
获取第一页数据
response = requests.get("https://m.51xw.net/meizi/")
html = response.text
selector = etree.HTML(html)
reg = selector.xpath('//*[@id="listcon"]/ul/li/div/a/@href')
遍历所有页面
for i in reg:
d = i + "/"
for k in range(1, 50): 假设翻页到第50页
z = d + str(k)
response = requests.get(z)
html = response.text
red = re.findall(r'https://m.51xw.net/meizi/[\d]+', html) 提取图片链接
下载保存图片
...
请注意,实际应用中需要根据目标网站的具体翻页机制来调整代码。如果遇到动态加载页面或需要模拟用户交互的情况,可能需要使用Selenium或其他工具来模拟浏览器行为。