S01E06.增强01和02课的代码功能

2021-12-30  本文已影响0人  布衣夜行人
代码效果

获取京客隆网站店铺信息页面下,北京多个城区每一页的分页页数

实战代码
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'{名称},{链接},总页数{页数}')
上一篇下一篇

猜你喜欢

热点阅读