Python爬取CSDN文章并制作成PDF(1),字节跳动php面试题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
img

正文

没有最好的编辑器,只有最合适的编辑器

下载 csdn 文章


万一作者的突然脑抽把号给删了,也会保存备份。那岂不泪流满面

首先需要获取 HTML 文件。

pdfkit


pdfkit是将html转换为pdf格式文档的python库。

安装wkhtmltopdf

下载:https://wkhtmltopdf.org/downloads.html

制作 PDF 的三种方法

form_url:传入的参数为url

def from_url(url, output_path, options=None, toc=None,cover=None,configuration=None, cover_first=False)

form_file:传入的参数为html文件

def from_file(input, output_path, options=None, toc=None, cover=None, css=None,configuration=None, cover_first=False)

form_string:传入的参数为字符串

def from_string(input, output_path, options=None, toc=None, cover=None, css=None,configuration=None, cover_first=False)

Configuration:Configuration中传入了wkhtmltopdf参数

https://blog.csdn.net/xc_zhou/article/details/80952168

指定pdf的格式

我们可以指定各种选项,就是上面三个方法中的options。

具体的设置可以参考https://wkhtmltopdf.org/usage/wkhtmltopdf.txt 里面的内容。

我们这里只举个栗子:

options = {

‘page-size’: ‘Letter’,

‘margin-top’: ‘0.75in’,

‘margin-right’: ‘0.75in’,

‘margin-bottom’: ‘0.75in’,

‘margin-left’: ‘0.75in’,

‘encoding’: “UTF-8”,

‘custom-header’ : [

(‘Accept-Encoding’, ‘gzip’)

]

‘cookie’: [

(‘cookie-name1’, ‘cookie-value1’),

(‘cookie-name2’, ‘cookie-value2’),

],

‘no-outline’: None

}

pdfkit.from_url(‘http://google.com’, ‘out.pdf’, options=options)

完整代码


selenium_page.py

import re

import requests

def get_songid():

“”“获取音乐的songid”“”

url = ‘http://music.taihe.com/artist/2517’

response = requests.get(url=url)

html = response.text

sids = re.findall(r’href=“/song/(\d+)”', html)

return sids

def get_music_url(songid):

“”“获取下载链接”“”

api_url = f’http://musicapi.taihe.com/v1/restserver/ting?method=baidu.ting.song.playAAC&format=jsonp&songid={songid}&from=web’

response = requests.get(api_url.format(songid=songid))

data = response.json()

print(data)

try:

music_name = data[‘songinfo’][‘title’]

music_url = data[‘bitrate’][‘file_link’]

return music_name, music_url

except Exception as e:

print(e)

def download_music(music_name, music_url):

“”“下载音乐”“”

response = requests.get(music_url)

content = response.content

save_file(music_name+‘.mp3’, content)

def save_file(filename, content):

“”“保存音乐”“”

with open(file=filename, mode=“wb”) as f:

f.write(content)

if name == “main”:

for song_id in get_songid():

music_name, music_url = get_music_url(song_id)

download_music(music_name, music_url)

CSDN.py

-- coding=utf-8 --

import pdfkit

import parsel

import requests

html_template = “”"

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
G4ubmV0L2ZlaTM0Nzc5NTc5MA==,size_16,color_FFFFFF,t_70)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-oGqkAvQx-1713368540886)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 30
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值