cxfxynpy 2023-03-12 16:10 采纳率: 44.4%
浏览 13
已结题

我想把采集到的数据保存到pdf中该怎么做


"""
http://www.ccgp-hunan.gov.cn/page/notice/more.jsp

https://hunan.zcygov.cn/luban/announcement/list?utm=a0017.b0064.3.5.f7fcb4c03c7411ed84984b6678c33275
需求
1.招投标网站爬虫软件
2.需要有软件界面
3.可以选择下载保存公告文件
4.文件格式pdf
"""

import csv
import os
import PyPDF2
import requests
from lxml import etree
import json
from bs4 import BeautifulSoup
from pprint import pprint
url = 'http://www.ccgp-hunan.gov.cn/mvc/getNoticeList4Web.do'
headers = {
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    # 'Cookie': 'JSESSIONID=BD97B12D61360D93BEC5912F62B0F8BC',
    'Origin': 'http://www.ccgp-hunan.gov.cn',
    'Referer': 'http://www.ccgp-hunan.gov.cn/page/notice/more.jsp',
    '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',
}
data = {
    'pType': '',
    'prcmPrjName': '',
    'prcmItemCode': '',
    'prcmOrgName': '',
    'startDate': '2023-01-01',
    'endDate': '2023-03-11',
    'prcmPlanNo': '',
    'page': '1',
    'pageSize': '18',
}
cookies = {
    'JSESSIONID': 'BD97B12D61360D93BEC5912F62B0F8BC',
}
resp = requests.post(url,headers=headers,data=data,cookies=cookies)
r = resp.text
response = json.loads(resp.text)
lis = response["rows"]
# soup = BeautifulSoup(r,'lxml')
# list = soup.find_all('tr')

print(lis)
data = []
for i in lis:
    # item = {}
    # # print(i)
    # item['名字'] = i['ORG_NAME']
    # item['公告'] = i['NOTICE_TITLE']
    # item['时间'] = i['NEWWORK_DATE']
    # # item['链接'] = i['href']
    # data.append(item)
    title = i['ORG_NAME']
    announcement = i['NOTICE_TITLE']
    time = i['NEWWORK_DATE']

# with open('kaohe.csv','w',encoding='utf-8-sig',newline='') as f:
# #     writer = csv.DictWriter(f,fieldnames=['名字','公告','时间'])
# #     writer.writeheader()
# #     writer.writerows(data)
  • 写回答

2条回答 默认 最新

  • 嗷呜大嘴狼 2023-03-12 16:25
    关注

    安装PyPDF2库,可以在终端中使用以下命令:

    
    pip install pypdf2
    
    

    在代码中添加以下内容,将每条数据保存为一个PDF文件:

    # 创建PDF文件对象
    pdf = PyPDF2.PdfFileWriter()
    
    # 遍历数据列表
    for i in lis:
        # 获取数据项
        title = i['ORG_NAME']
        announcement = i['NOTICE_TITLE']
        time = i['NEWWORK_DATE']
        
        # 创建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))
        page.mergePage(PyPDF2.pdf.PageObject.createTextObject(None, time))
        
        # 将页面添加到PDF文件中
        pdf.addPage(page)
        
        # 保存PDF文件
        with open('data.pdf', 'wb') as f:
            pdf.write(f)
    
    
    

    答案来自 https://www.wodianping.com/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月12日

悬赏问题

  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
  • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
  • ¥15 运动想象脑电信号数据集.vhdr
  • ¥15 三因素重复测量数据R语句编写,不存在交互作用
  • ¥15 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab