python爬虫-book118

Py3 下载book118预览图片并合并成docx文件

根据原创力文档的真实预览地址获取每个预览图片的地址,下载到本地,并合并成docx文件

拿网友的代码稍微改了下,https://www.jianshu.com/p/8012edb46153,增加了合并docx文件功能

仍未解决的问题:

  1. while循环部分容易出错,导致url_dict中的预览图片地址不完全,最终得到的docx文件缺失相应页面
  2. book118设置了预览频次上限,超限需要输入验证码进行验证才能继续预览。好像是第二天解除验证模式,这也不算个问题,反正也不需要下载很多文件。book118验证码地址:https://max.book118.com/index.php?m=Public&a=verify,有兴趣的可以尝试下识别验证码
  3. 运行中途出错基本就要重新开始,实在需要下载文件的话,多尝试几遍。或者在52pojie找下下载工具。
import requests
import json
import re
import time
import os
import sys
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Cm
#获取真实预览地址turl
headers = {
   'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36'}
url = input('please input url:')
if len(url)<10:
    url = 'https://max.book118.com/html/2019/1028/8143004105002060.shtm'
aid = re.search('\d{1,100}\.s',url).group()[:-2]
rep = requests.get(url, headers=headers)
soup = BeautifulSoup(rep.text, 'lxml')
title = soup.title.contents[0]
title = title[:title.find('.')]
turl = 'https://max.book118.com/index.php?g=Home&m=NewView&a=index&aid={}'.format(aid)
print('turl:',turl)
#获取预览信息,放在book中
rep = requests.get(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值