python 爬带端口的网站_5分钟带你用Python爬完《剑来》小说(附完整代码)!

news/2024/5/15 11:08:00/文章来源:https://blog.csdn.net/weixin_39968640/article/details/111634767

203508405d516a15f2cb614011fad249.png

Python资源共享群:484031800

思路:

step 1 :请求《剑来》小说站点,获取两个东西

  • 小说名称——在Python程序同目录下,以小说名称创建文件夹
  • 每章小说的链接地址

step 1 对应代码中的 get_url()函数 ,该函数还包括用于加速爬虫的 多线程 代码,经多次测试,爬完整本小说645章,大概需要5分钟

(最后一次测试总计用时:288.94552659988403s,具体时长视网络状况而定)

step 2 :遍历(for循环)step 1 得到的所有链接,同样获取两个东西

  • 小说章节名称——在 step 1 创建的文件夹下,以小说章节名称创建.txt文件
  • 小说章节内容——分章节保存,便于查看

step 2 对应代码中的 download()函数 ,该函数需要两个参数:一个是step 1 得到的小说章节链接url;一个是step 1创建的文件夹名称name

工具:Pycharm 用到的第三方库有:requests、pyquery、threading、os、time(非必需,用于记录程序运行总时间)

# -*- coding: UTF-8 -*-
import requests
from pyquery import PyQuery as pq
import threading
import time
import os
# 简单的防反爬处理:修改请求头内容
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36','Cookie': 'Hm_lvt_acb6f2bc2dcbdaa4ceeed2289f1d0283=1562677085,1562680745,1562916025; Hm_lpvt_acb6f2bc2dcbdaa4ceeed2289f1d0283=1562922723','Host': 'www.jianlaixiaoshuo.com','Referer': 'http://www.jianlaixiaoshuo.com/',}
def get_url():response = requests.get("http://www.jianlaixiaoshuo.com/", headers=headers)response.encoding = response.apparent_encoding  # 防止响应体出现乱码html = pq(response.text)name = html('body > div:nth-child(2) > div > div > div > h1 > a').text()  # 获取小说名称if os.path.exists(name) == False:              # 在Python程序同目录下,以小说名称创建文件夹os.mkdir(name)links = html('body > div:nth-child(2) > div > dl > dd > a')  # 获取每章小说的链接地址# 构造多线程,加速爬虫threads = []   # 多线程列表for link in links.items():url = 'http://www.jianlaixiaoshuo.com' + link.attr.href  # 拼接出完整链接t = threading.Thread(target=download, args=(url, name))  # 每个链接设置一个线程threads.append(t)                                        # 将创建的线程依次加入到多线程列表for i in threads:i.start()  # 启动线程for i in threads:i.join()   # 阻塞当前上下文环境的线程,直到调用此方法的线程终止
def download(url, name):#  获取每章小说的标题和内容response = requests.get(url, headers=headers)response.encoding = response.apparent_encoding  # 防止响应体出现乱码html = pq(response.text)title = html('#BookCon > h1').text()  # 章节名称content = html('#BookText').text()    # 章节内容file_name = name + '' + title + '.txt'  # 以章节名称创建.txt文件,分章节保存小说内容print('正在保存小说文件:' + file_name)  # 提示爬取进度with open(file_name, "w", encoding='utf-8') as f:f.write(content)
def main():    # 主函数start_time = time.time()  # 程序开始运行的时间get_url()print("总计用时:%s" % (time.time()-start_time))
if __name__ == '__main__':main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_717347.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php与apache整合404,PHP网站从Apache转移到Nginx后产生404错误的原因和解决办法

这是转载的别人的解决方法:原案例分析:1、原来的网站在wamp环境下搭建完成,一切正常,上传到虚拟主机环境为lnmp,结果访问时可以打开主页,然后点其他页面全部报404错误;2、经分析得出原因&#x…

iis添加网站外网无法访问_2秒钟实现在IIS上面新建站点并发布Web应用

>> 点击上方 懒人MES 关注我们之前有写过一篇"教你两分钟使用ASP.NET CORE创建并发布一个Web应用“,今天分享一篇Powershell实例“只需2秒钟实现在IIS上面新建站点并发布Web应用”。在过去的一年工作中接触到很多服务器上应用迁移的任务,其中…

mysql 替换网址_mysql语句:网站批量http替换https技巧

网站开启https非常简单,先申请一个ssl证书;DigiCert 免费版 SSL证书可以通过阿里云、DNSPOD进行申请。通常30分钟左右即可申请成功,免费时间一年,第二年可以续签。将申请成功的证书安装在服务器端,成功开启SSL后&#…

php gb2312网站源码,闻名 PHP 企业网站系统 weenCompany v5.3.0 简体中文 GB2312

weenCompany闻名企业网站系统(免费开源)是一个功能强大, 使用简单的中英文企业智能建站系统, 您只需要一些基本的计算机知识就可以利用此系统完成中小型企业网站的建设; 是低成本企业网站架设方案之首选CMS系统, 也适合建设个人网站。weenCompany闻名企业网站系统功能&#xff…

前端设计类网站汇总

设计前端类网站汇总 一、素材类 1、图片 其实国内对图片版权保护这块的意识不是很够,在免费的素材库和收费素材库都能找到同一张图片,但作者署名却都不一样。所以小编现在基本不用国内这些图库网,跟大家推荐几个免费又没有版权纠纷的图库网站…

阿里云ecs怎么搭建网站

一、首先在阿里云开通一台服务器 二、开通服务器之前最好确定你的服务器用linux还是windows,这里小编推荐大家用linux的服务器,因为linux服务器稳定而且性能也比windows好! 三、安装网站环境 小编推荐宝塔面板,比较方便快捷&#…

图片优化_怎么优化图片?网站图片优化方法有哪些?

在搜索引擎算法不断的进步,算法不断的升级变化的情况下,很多站长纷纷表示无路可走,其实有时候换一种角度想一想,之所以搜索引擎实施一定的打压,那也正是说明了,做SEO还有别的路可走。为何有人表示说无路可走…

file 选择的图片作为背景图片_我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃!...

虽然不能出门,但是我们可以利用python来带领大家出去旅游,今天小编就带领大家利用python和Flask实现旅游的小目标,让大家足不出户,就能晒出自己的旅游照。01功能简介我们今天实现的小功能就是,利用python来提取我们的人…

debian8 php7,Debian8环境安装Apache/PHP7/MariaDB网站环境

一、添加PHP7数据源以及更新系统安装好的Debian后还不能使用sudo,需要使用root用户登陆后安装sudo命令apt-get install sudo添加PHP7数据源以及更新系统echo"deb http://repos.zend.com/zend-server/early-access/php7/repos ubuntu/" >> /etc/apt/sources.lis…

php网站iis7.5 session,IIS 7.5 asp Session超时时间设置方法

IIS 7.5 asp Session超时时间设置方法有时候在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为在IIS中设置了超时时间那么我们如何设置超时时间呢?1.IIS图形界面设置IIS6 在IIS里面右键点…

中国程序员开发的神奇网站:变量命名神器,这个有点意思!

有一种痛,不是程序员可能不懂,但如果是程序员一定懂,那就是给变量或函数命名。回想一下起名字这条路,刚开始学某个编程语言的时候,26 个字母还能解决问题,26 个不够还能用字母与数字的组合?。但是&#xf…

java相关技术网站,看完这一篇你就懂了

灵魂发问:我们为什么要学习SpringBoot??? 官方对 Spring Boot 的定位:Build Anything, Build 任何东西。Spring Boot 旨在尽可能快地启动和运行,并且只需最少的 Spring 前期配置。 同时我们也来…

FBI 网站都被黑了?

来源:快科技news.mydrivers.com/1/622/622871.htm4月13日,据外媒报道,一个黑客组织通过黑进数个联邦调查局(FBI)的附属网站,获取了成千上万条联邦特工和执法人员的个人信息,并计划出售。据悉&am…

你社交网站上的照片也许已经被用来训练人工智能了

毫无疑问,这张家庭照片是非常可爱的:照片中的爸爸留着短须,戴着无框眼镜,棕色头发的妈妈咧着嘴笑着。他们正和两个蹒跚学步的女儿一起嬉戏,同时品尝着冰淇淋。但是,这张照片于2013年被上传到照片分享网站Flickr上时&am…

@前端工程师,节约网站流量用这一招就够了!

作者 | 桃翁随着 Web 的发展,网站资源的流量也变得越来越大。据统计,60%的网站流量均来自网站图片,可见对图片合理优化可以大幅影响网站流量,减小带宽消耗和服务器压力。有时候你花大力气去配置 WebPack 使打包体积减少&#xff0…

有什么学习java的网站

前言 大数据、算法项目在任何大厂无论是面试还是工作运用都是非常广泛的,我们精选了50个百度、腾讯、阿里等大厂的大数据、算法落地经验甩给大家,千万不要做收藏党哦,空闲时间记得随时看看! 如果你没有大厂项目经验,…

树展示 移动端_网站SEO优化中如何做好移动端的网站适配工作

随着移动互联网的发展,我们越来越多的网站都开始积极面向移动端设备开发。如果现在还有那家网站只能方便电脑端展现,对移动端展现不够友好的话,那么都是不利于SEO搜索引擎优化与用户的阅览体验的。而对于使用H5技术建设的网站来说&#xff0c…

tomcat vue 不用 前后端_Django rest framework加Vue打造前后端分离的网站

我曾记录过用django rest framework和vue的文章,如下链接。还在持续更新中。后端是django rest framework,前端是vue.js,数据库用了mysql,部署会用上uwsgi加nginx。Django restframework加Vue打造前后端分离的网站(一)环境准备Dja…

形式 后台post_韩国网站 登录框POST注入到Getshell

声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。请勿利用文章内的相关技术从事非法测试,如因此产…

vue调用手机浏览器打开pdf_这个不到1M的手机浏览器,打开1个网站后,用起来更顺手了!...

你有没有遇到过这种情况?本来是打开手机浏览器搜索些什么,结果不小心被首页推送的资讯吸引,看了半小时新闻后,一点也想不起来自己为什么要点开这个App了!如果不想在这些资讯上浪费时间,那就趁早换一款浏览器…