对于下发的文件进行爬取,减少人去下载的过程

对于政府网站下发的文件进行爬取,减少人去下载的过程

博问上有人不会,我写了一下

绝对不要加多线程多线程进去

仅供学习,不要用于商业目的

复制import re

import requests
from lxml.html import etree

url = 'http://www.liyang.gov.cn/default.php?mod=article&fid=163250&s99679207_start=0'
rp = requests.get(url)
re_html = etree.HTML(rp.text)
url_xpath = '//*[@id="s99679207_content"]/table/tbody/tr/td/span[1]/span/a/@href'
title_xpath = '//*[@id="s99679207_content"]/table/tbody/tr/td/span[1]/span/a/text()'
url_list = re_html.xpath(url_xpath)
title_list = re_html.xpath(title_xpath)
title_list = title_list[::-1]
data_url_list = []
for url_end in url_list:
    new_url = f'http://www.liyang.gov.cn/{url_end}'
    print(new_url)
    rp_1 = requests.get(new_url)
    print(rp_1.text)
    try:
        re_1_html = etree.HTML(rp_1.text)
        data_url_xpth = '//tbody/tr[1]/td[2]/a'
        data_url = re_1_html.xpath(data_url_xpth)[0]
    except:
        data_list = re.findall('<a href="(.*?)" target="_blank">', rp_1.text)
        data_url = data_list[0]
    print(data_url)
    data_url = f'http://www.liyang.gov.cn/{data_url}'
    re = requests.get(data_url)
    data = re.content
    with open(f'{title_list.pop()}.pdf', 'wb') as fw:
        fw.write(data)
posted @   小小咸鱼YwY  阅读(735)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示