pdf保存报错之前都还好好的加上pdf就开始报错


import requests
import os
import PyPDF2

url = 'https://hunan.zcygov.cn/announcement/lobby/queryPage'

cookies = {
    'districtCode': '439900',
    'districtName': '%E6%B9%96%E5%8D%97%E7%9C%81%E6%9C%AC%E7%BA%A7',
    '_zcy_log_client_uuid': 'd62e0b10-c003-11ed-804c-31bcc0f7c84f',
    'districtType': '010100',
    'SESSION': 'ZTllYTEyNGYtMTYxNy00NzgyLThiOGEtMTI3MzE4OGQxMzNk',
    'acw_tc': 'ac11000116786001487322984e010231f4d624d4bfa9b55baf5618001863ae',
    'ssxmod_itna2': 'QqjxcD2DnDgDBAiDODzPEY4BKvropK8C7AKniD8dPxDIND/Q8rDFE7A9iwowGrqQD67ur=H08auY4eoLEBAmh9f9SEbeqz8PMrv3u3rxc8Oxk/kguzvn9o2n=53rtlfbHvNlrRlpCaCj25b3ayDKiH=QAIicx7z2xob2obm9C+83=itUOAx51a18pH1GSKIfOqk2P5peWwi0t54Q8AKTxfLHrBW4fE16=Ps+lIHPs0=Y7me=6au2f2jxrj+epqGqeYjtz8G=Pkqhbat4EiWUokjcKoyOCW+tK1=W5MAyPkvofmltDw=RTd0AtU8dDnKcddKQ==udMBoU87LkCZf=n07lMzVk+ARzf3ssWY183DWw5m+xMm4jmd8wrj=khNQ7w+E=/o=uCDK2CcAOobx8YFG+Qt7vi3r8Yw18dk0zQ4oUYF1Av+GHEhQ42xelCnkYQiHD6rUDG37mqOf+njer4MlqwwYGTm8WYu71AuHKGGdM6bGregW8YPD7Q6xnFmY6rXFAeNGEHmnePc=7wKyTqiGLDUoLwYWq4iD7m74GY1mo4ApYLeG8m1ep17DKeMelNkj81AhABG6mBODL10ARK4DjKDeLP4D=',
    'ssxmod_itna': 'YuiQBKGK7I8GCzDXbPOx7uxGqKDwH90R22cPDsPDcYxA5D8D6DQeGTbRokzbqzqFgOuxW4HCg0wxfCBxcwiA9joxfPLW6DwNoD84i7DKqibDCqD1D3qDkHB4YYkDt4DTD34DYDixtDfYdNVWTQ7QqGy7MiDtqGnWqGgRMQ2D0PD7oNBl4D+RqDEDqDRWMiuRqDADiUqukPhl0LlDBoDGT=ujdXMQuruWdTk2ayefjDDbxpgtmr9WkbujmXV4C04rWr5we8dNF+Pz4CoSOG=mYL487w5b0w6bB+a3YhezZh=i8Dp/OmPzGddnqx3D',
    'acw_sc__v2': '640d67e290d94d66b9e64b5d6865a3eccfe41264',
}

headers = {
    'Accept': 'application/json, text/plain, */*',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Type': 'application/json;charset=UTF-8',
    # 'Cookie': 'districtCode=439900; districtName=%E6%B9%96%E5%8D%97%E7%9C%81%E6%9C%AC%E7%BA%A7; _zcy_log_client_uuid=d62e0b10-c003-11ed-804c-31bcc0f7c84f; districtType=010100; SESSION=ZTllYTEyNGYtMTYxNy00NzgyLThiOGEtMTI3MzE4OGQxMzNk; acw_tc=ac11000116786001487322984e010231f4d624d4bfa9b55baf5618001863ae; ssxmod_itna2=QqjxcD2DnDgDBAiDODzPEY4BKvropK8C7AKniD8dPxDIND/Q8rDFE7A9iwowGrqQD67ur=H08auY4eoLEBAmh9f9SEbeqz8PMrv3u3rxc8Oxk/kguzvn9o2n=53rtlfbHvNlrRlpCaCj25b3ayDKiH=QAIicx7z2xob2obm9C+83=itUOAx51a18pH1GSKIfOqk2P5peWwi0t54Q8AKTxfLHrBW4fE16=Ps+lIHPs0=Y7me=6au2f2jxrj+epqGqeYjtz8G=Pkqhbat4EiWUokjcKoyOCW+tK1=W5MAyPkvofmltDw=RTd0AtU8dDnKcddKQ==udMBoU87LkCZf=n07lMzVk+ARzf3ssWY183DWw5m+xMm4jmd8wrj=khNQ7w+E=/o=uCDK2CcAOobx8YFG+Qt7vi3r8Yw18dk0zQ4oUYF1Av+GHEhQ42xelCnkYQiHD6rUDG37mqOf+njer4MlqwwYGTm8WYu71AuHKGGdM6bGregW8YPD7Q6xnFmY6rXFAeNGEHmnePc=7wKyTqiGLDUoLwYWq4iD7m74GY1mo4ApYLeG8m1ep17DKeMelNkj81AhABG6mBODL10ARK4DjKDeLP4D=; ssxmod_itna=YuiQBKGK7I8GCzDXbPOx7uxGqKDwH90R22cPDsPDcYxA5D8D6DQeGTbRokzbqzqFgOuxW4HCg0wxfCBxcwiA9joxfPLW6DwNoD84i7DKqibDCqD1D3qDkHB4YYkDt4DTD34DYDixtDfYdNVWTQ7QqGy7MiDtqGnWqGgRMQ2D0PD7oNBl4D+RqDEDqDRWMiuRqDADiUqukPhl0LlDBoDGT=ujdXMQuruWdTk2ayefjDDbxpgtmr9WkbujmXV4C04rWr5we8dNF+Pz4CoSOG=mYL487w5b0w6bB+a3YhezZh=i8Dp/OmPzGddnqx3D; acw_sc__v2=640d67e290d94d66b9e64b5d6865a3eccfe41264',
    'Origin': 'https://hunan.zcygov.cn',
    'Referer': 'https://hunan.zcygov.cn/luban/announcement/list?utm=a0017.b0064.3.5.f7fcb4c03c7411ed84984b6678c33275',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-origin',
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36',
    'X-Requested-With': 'XMLHttpRequest',
    'sec-ch-ua': '"Google Chrome";v="111", "Not(A:Brand";v="8", "Chromium";v="111"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"macOS"',
}

json_data = {
    'pageSize': 10,
    'pageNo': 1,
    'announcementTypes': [
        10017,
        8018,
        8023,
        8024,
    ],
    'district': '439900',
}

response = requests.post(url, cookies=cookies, headers=headers, json=json_data)
resp = response.json()['result']['data']
pdf = PyPDF2.PdfFileWriter()

# 遍历数据列表
for i in resp:
    # 获取数据项
    title = i['title']
    announcement = i['outUrl']


    # 创建PDF页面对象
    page = PyPDF2.pdf.PageObject.createBlankPage(None, 72 * 11, 72 * 8.5)

    # 在页面上添加数据
    page.mergePage(PyPDF2.pdf.PageObject.createTextObject(None, title))
    page.mergePage(PyPDF2.pdf.PageObject.createTextObject(None, announcement))

    # 将页面添加到PDF文件中
    pdf.addPage(page)
    # 保存PDF文件
    with open('data.pdf', 'wb') as f:
        pdf.write(f)

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/07069221687618.png "#left")

  • 给你找了一篇非常好的博客,你可以看看是否有帮助,链接:PDF-测试基础