教你如何用python爬取豆丁网付费文章俘获女神芳心。
事情是这样的
女神想要一篇关于如下的文章:
可一看,下载需要十个米,作为打工人哪舍得花这个钱去下载如此贵的文章,于是她想到了我。
记录:
这里聊天告一段落,
身兼CV大法的我看了看,怎么可以在女神面前这么无能呢·,分析了一下该网站,好家伙,这算法我不想找了,据我分析,是通过wasm文件加载的算法.
如下是加密数据:
但是可见即可爬,然后又尝试了selenium也翻车,也不想试其他的了,于是我选择了另一种查看方式,这下总算被我发现了可行方法,于是撸代码。
# -*- coding: utf-8 -*-
"""
# @Time : 2021/11/2 11:06
# @Author : ChenLvLei
# @Email : 2516455367@qq.com
# @FileName : docin
# @Description :
"""
import os
from fpdf import FPDF
from PIL import Image
from pdf2docx import Converter
from configparser import ConfigParser
import requests
headers = {
'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",
'https://docimg1.docin.com/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.size
pdf = 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':
continue
file_name = os.path.splitext(file)[0]
pdf_file = config['pdf_folder'] + '/' + file
word_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",
['./豆丁/' + imgFileName
for imgFileName in
os.listdir('./豆丁')
if imgFileName.endswith(".png")])
if __name__ == '__main__':
main('填入对应参数即可')```
最终不负所托完成了女神交付的任务。
就这样,我成功忽悠到10米。
你以为事情就这样结束了吗???大错特错!错的离谱!不能再错了!
正当我准备给女神用网上免费的OCR字符识别库Tesseract,识别一下文字,免得女神复制的如此辛苦,结果:
女神由于被我忽悠了10米,于是气氛的去上个厕所压压惊,结果特喵手机掉厕所了。。。。。。
这时候女神的心情就如同她掉到厕所的手机,一样沉重.
洗澡睡觉觉啦,觉得不错的小伙伴点赞关注不迷路
本故事根据真实故事改编
如有侵权 联系删除