设为首页 加入收藏

TOP

Python爬虫(学习笔记)(二)
2023-07-23 13:45:23 】 浏览:98
Tags:Python 爬虫 习笔记
   #page_text=requests.get(url=url,headers=headers).text

    response=requests.get(url=url,headers=headers)

    #处理中文乱码问题

    response.encoding='utf-8'

    page_text=response.text

    #初始化etree对象

    tree=etree.HTML(page_text)

    #解析对象列表

    page_list=tree.xpath('//div[@class="sc_warp  mt20"]/div/div/div/a')

    #创建文件夹存储下载数据

    folder='./jianli/'

    if not os.path.exists(folder):

        os.mkdir(folder)

        #遍历对象列表

    for page in page_list:

        #解析文件名

        name=page.xpath('./img/@alt')[0]

        #解决中文乱码问题

        #name=name.encode('iso-8859-1').decode('gbk')

        #解析下载页的URL

        href=page.xpath('./@href')[0]

        #print(name,href)

        #处理URL

        if href[0] == "/":

            href = 'https:' + href

        #获取下载页源码

        page_text2=requests.get(url=href,headers=headers).text

        #构造etree对象

        tree2=etree.HTML(page_text2)

        #解析下载地址

        href2=tree2.xpath('//div[@class="down_wrap"]/div[2]/ul/li[1]/a/@href')[0]

        #处理URL

        if href2[0]=="/":

            href2='https:'+href2

        #print(name,href2)

        #添加后缀名

        name=name+'.rar'

        #创建文件路径

        path=folder+name

        #读取文件数据

        data=requests.get(url=href2,headers=headers).content

        #数据持久化

        with open(path,'wb') as fp:

            fp.write(data)

        print(name,'下载成功!!!')

 

#对不同的页码循环执行

for i in range(50,879):

    print(f'开始下载第【{i}】

首页 上一页 1 2 3 4 5 6 下一页 尾页 2/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇科技报告数据语料处理(关键词、.. 下一篇Python绘制饼状图对商品库存进行..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目