教你如何用python爬取豆丁网付费文章俘获女神芳心。
事情是这样的
女神想要一篇关于如下的文章:
可一看,下载需要十个米,作为打工人哪舍得花这个钱去下载如此贵的文章,于是她想到了我。
记录:
这里聊天告一段落, 身兼CV大法的我看了看,怎么可以在女神面前这么无能呢·,分析了一下该网站,好家伙,这算法我不想找了,据我分析,是通过wasm文件加载的算法. 如下是加密数据:
但是可见即可爬,然后又尝试了selenium也翻车,也不想试其他的了,于是我选择了另一种查看方式,这下总算被我发现了可行方法,于是撸代码。
# -*- coding: utf-8 -*-"""# @Time : /11/2 11:06# @Author : ChenLvLei# @Email : 2516455367@# @FileName: docin# @Description :"""import osfrom fpdf import FPDFfrom PIL import Imagefrom pdf2docx import Converterfrom configparser import ConfigParserimport requestsheaders = {'Accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9',"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36"" (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36"}def download(**kwargs):page = kwargs.pop('maxPage')for page in range(1, page):print(f'豆丁文档下载中......第{page}张')kwargs.update({'pageno': str(page)})response = requests.request("GET",'/docinpic.jsp?',headers=headers,params=kwargs)if not os.path.exists('./豆丁'):os.mkdir('./豆丁')with open(f'./豆丁/{page}.png', 'wb') as f:f.write(response.content)def generate_pdf(pdf_file_name, list_ages):cover = Image.open(list_ages[0])width, height = cover.sizepdf = FPDF(unit="pt", format=[width, height])for page in list_ages:pdf.add_page()pdf.image(page, 0, 0)pdf.output(pdf_file_name, "F")def pdf_to_word():config_parser = ConfigParser()config_parser.read('config.cfg', encoding='utf-8')config = config_parser['default']for file in os.listdir(config['pdf_folder']):extension_name = os.path.splitext(file)[1]if extension_name != '.pdf':continuefile_name = os.path.splitext(file)[0]pdf_file = config['pdf_folder'] + '/' + fileword_file = config['word_folder'] + '/' + file_name + '.docx'cv = Converter(pdf_file)cv.convert(word_file)cv.close()def main(file: str,width: str,sid: str,pageno: str,pcimg: str,page: int,**kwargs):key = {'file': file,'width': width,'sid': sid,'pageno': pageno,'pcimg': pcimg,'maxPage': page}download(**key)generate_pdf("人力资源项目计划书.pdf",['./豆丁/' + imgFileNamefor imgFileName inos.listdir('./豆丁')if imgFileName.endswith(".png")])if __name__ == '__main__':main('填入对应参数即可')```
最终不负所托完成了女神交付的任务。
就这样,我成功忽悠到10米。
你以为事情就这样结束了吗???大错特错!错的离谱!不能再错了!
正当我准备给女神用网上免费的OCR字符识别库Tesseract,识别一下文字,免得女神复制的如此辛苦,结果:
女神由于被我忽悠了10米,于是气氛的去上个厕所压压惊,结果特喵手机掉厕所了。。。。。。
这时候女神的心情就如同她掉到厕所的手机,一样沉重.
洗澡睡觉觉啦,觉得不错的小伙伴点赞关注不迷路
本故事根据真实故事改编
如有侵权 联系删除