起因是最近准备学习TensorFlow,找了个网页教程,质量感觉挺好,但是页面广告巨多,不小心就能中雷,就想用爬虫爬下来,净化一下,一开始是拒绝的,因为爬虫下来的话,格式跟网页就不一定一样了,说不定会乱七八糟,直到后来发现了pdfkit这个工具,(需要安装wkhtmltopdf)。然后就一发不可收拾了:
遇到的障碍就是图片一开始无法加载,索性一不做二不休在存储源码的时候直接改位置,让其按照我的心意存储。
代码如下,应该很容易能看懂
import requests
import os
import time
import random
import re
import pdfkit
from bs4 import BeautifulSoup
from lxml.html import etree
def get_text(url):
# 获取url的内容,调用频率极高
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}
response = requests.get(url, headers=headers)
response.encoding = 'utf-8'
return response.text
def clean_str(string):
# 创建文件时候去掉特殊字符,防止创建失败
return re.sub(r'\n|\s', '', string)
def analysis_text(url):
# 核心方法,获取需要的html信息,以方便重新组合形成新的html文件,注意是带上标签的
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}
text = get_text(url)
soup = BeautifulSoup(text, 'html.parser'