代码效果
获取京客隆网站店铺信息页面下,北京多个城区每一页的分页页数
实战代码
import requests
from lxml import etree
import re
UA伪装 = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36'}
网址 = 'http://www.jkl.com.cn/shopLis.aspx?TypeId=10044'
proxies={
'http':'http://XXXXXX@pXXXXX',
'https':'XXXXX@XXXXXX'
}
响应数据 = requests.get(url=网址, headers=UA伪装,proxies=proxies,verify=False).text
解析 = etree.HTML(响应数据)
#通过xpath解析,获取即将组成字典数据的键与值
城区名称 = 解析.xpath('//div[@class="infoLis"]//a/text()')
城区链接 = 解析.xpath('//div[@class="infoLis"]//@href')
#目测数出一共要爬取的专栏数量,从1开始到12
for i in range(1,13):
# print(城区名称[i-1].strip(),'http://www.jkl.com.cn/cn/' + 城区链接[i-1])
#将城区列表中的城区名称逐个赋值给名称
名称 = 城区名称[i-1].strip()
#http://www.jkl.com.cn/shopLis.aspx?TypeId=10045
链接 = 'http://www.jkl.com.cn/' + 城区链接[i-1]
#print(链接)
响应数据1 = requests.get(url=链接, headers=UA伪装,proxies=proxies,verify=False).text
解析 = etree.HTML(响应数据1)
尾页 = 解析.xpath('//a[text()="尾页"]/@href')
#print(尾页)
#用尾页的链接获取每个专栏的总页数。
if 尾页 != []:
正则 = re.search("\d{1}", 尾页[0]) # 正则笔记1.3
页数 = 正则.group(0) # group()或group(0)匹配正则表达式,group(1)匹配第一个括号,正则笔记2.9
# print(页数)
else:
页数 = 1
print(f'{名称},{链接},总页数{页数}')
网友评论