最近毕业季要做毕业设计的同学真的特别多
需要大量文献、文档、PDF但是不想因为这个花money的
举起你们的双手!!!
接下来就以某度某库为例,
下载我们想要的文档并保存为PDF!
源码资料电子书:点击此处跳转文末名片获取
Python 3.6
Pycharm
import requests
import parsel
import re
import os
import pdfkit
安装Python并添加到环境变量,
pip安装需要的相关模块即可。
需要使用到一个软件
wkhtmltopdf
这个软件的作用就是把html文件转成PDF
想要把文档内容保存成PDF,
首先保存成html文件,
然后把html文件转PDF
网站分类有比较多种,
也可以选择自己要爬取的。
这个网站如果你只是正常直接去复制文章内容的话,
会直接弹出需要money的窗口…
但是这个网站上面的数据内容又非常好找,
因为网站本身仅仅只是静态网页数据,
可以直接获取相关的内容。
通过上述内容,
如果想要批量下载文章内容,
获取每篇文章的url地址即可,
想要获取每篇文章的url地址,
这就需要去文章的列表页面找寻相关的数据内容了。
import requests
import parsel
import re
import os
import pdfkithtml_filename = 'html\\'
if not os.path.exists(html_filename):os.mkdir(html_filename)pdf_filename = 'pdf\\'
if not os.path.exists(pdf_filename):os.mkdir(pdf_filename)html_str = """
Document
{article}
"""def change_title(name):pattern = re.compile(r"[\/\\\:\*\?\"\<\>\|]") # '/ \ : * ? " < > |'new_title = re.sub(pattern, "_", name) # 替换为下划线return new_titlefor page in range(1, 11):print(f'正在爬取第{page}页数据内容')url = f'https:/自己替换一下/zlist-55-{page}.html'headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'}response = requests.get(url=url, headers=headers)href = re.findall('', response.text)for index in href:response_1 = requests.get(url=index, headers=headers)selector = parsel.Selector(response_1.text)title = selector.css('.content-page-header-div h1::text').get()title = change_title(title)content = selector.css('.content-page-main-content-div').get()article = html_str.format(article=content)html_path = html_filename + title + '.html'pdf_path = pdf_filename + title + '.pdf'try:with open(html_path, mode='w', encoding='utf-8') as f:f.write(article)# exe 文件存放的路径config = pdfkit.configuration(wkhtmltopdf='C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe')# 把 html 通过 pdfkit 变成 pdf 文件pdfkit.from_file(html_path, pdf_path, configuration=config)print(f'{title}保存成功...')except:pass