链接: https://pan.baidu.com/s/18iRD2I9t4xHxiSqoe-hFHg 密码: afaf

使用Python3爬取小说,代码看起来有点乱,下面有截图

import requests

from lxml import etree

from multiprocessing.dummy import Pool

import os

import re

#小说的章节地址

chapter_url = "https://www.biqudu.com/43_43821/"

#忽略警告 https请求设置verify=False时 有时候会报错 设置这条语句可以解决

requests.packages.urllib3.disable_warnings()

def get_response(url):

'''

:根据指定URL获取响应数据、

:返回xpath选择器格式的数据

'''

html = requests.get(url,verify=False)

return etree.HTML(html.text)

def get_chapter_content(selector):

'''

:传入xpath选择器格式的数据获取想要的数据

:返回一个包含章节标题,和章节地址的数组

'''

html = []

#根据xpath获取title

title = selector.xpath('//*[@id="list"]/dl/dd/a/text()')

# 根据xpath获取url

href = selector.xpath('//*[@id="list"]/dl/dd/a/@href')

#这里以12开始遍历是因为前面几个数据是不要的

for i in range(12,len(title)):

tit = title[i]

url = "https://www.biqudu.com" + href[i]

chapter = {"title":tit,"url":url}

html.append(chapter)

return html

def save_content(url):

'''

:根据传进来的URL获取数据并保存

:这里的URL传入的事一个字典存储的地址和相对应保存文件的名称

'''

# 保存下载文件的文件夹

folder = 'novel'

# 获取选择器

html = get_response(url['url'])

# 提取出想要的内容

con = html.xpath('//*[@id="content"]/text()')

# 判断文件夹是否存在 不存在就创建

if not os.path.exists(folder):

os.mkdir(folder)

# 去掉非法字符

fileName = re.sub('[\/:*?"<>|]','-',url['name'])

# 保存文件

with open(folder + "/" + fileName + ".txt","w+",encoding="utf-8") as f:

# 得到的是一个list 这里转换为str

content = ''.join(con)

#遍历字符串 保存为每行不好过50个字符

for i in range(0,len(content),50):

f.write(content[i:i+50] + "\n")

def get_content(html):

'''

:并行爬取保存数据

'''

urls = []

for con in html:

url = con['url']

name = con['title']

urls.append({'name':name,'url':url})

# 线程个数

pool = Pool(4)

# 使用map进行并行爬取,save_content为爬取保存函数,

# urls为一个list,里面存储的为网址列表和对应的保存名字

pool.map(save_content,urls)

pool.close()

pool.join()

def main():

selector = get_response(chapter_url)

html = get_chapter_content(selector)

get_content(html)

if __name__ == '__main__':

main()

python3爬取视频代码_Python爬虫视频以及使用python3爬取的实例相关推荐

  1. python实例豆瓣音乐代码_Python爬虫实战(3)-爬取豆瓣音乐Top250数据(超详细

    前言 首先我们先来回忆一下上两篇爬虫实战文章: 第一篇:讲到了requests和bs4和一些网页基本操作. 第二篇:用到了正则表达式-re模块 今天我们用lxml库和xpath语法来爬虫实战. 1.安 ...

  2. left join 一对多只取一条_Python爬虫教程:验证码的爬取和识别详解

    目前,很多网站会采取各种各样的措施来反爬虫,验证码就是其中一种,比如当检测到访问频率过高时会弹出验证码让你输入,确认访问网站的不是机器人.但随着爬虫技术的发展,验证码的花样也越来越多,从最开始简单的几 ...

  3. python怎么爬取电影海报_Python 爬虫“王者”:豆瓣海报爬取

    我这里就以女神王祖贤的海报来作为例子. 翻页分析 在豆瓣电影中搜索"王祖贤",进入王祖贤主页后,点击全部影人图片,进入到影人图片页面. 在该页面点击下一页,可以看到浏览器的 URL ...

  4. python爬虫爬取图片代码_python爬虫实战 爬取天极图片

    学习爬虫个人的意见是直接实战效果会很好 不要等全学完requests ,正则表达式,BeautifulSoup等再来实际操作.其实很多实战我们并不会用到requests库,BeautifulSoup, ...

  5. python爬取豆瓣电影top250的代码_Python爬虫——爬取豆瓣电影Top250代码实例

    利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Excel表中 ...

  6. python爬取bilibili弹幕_Python爬虫爬取Bilibili弹幕过程解析

    先来思考一个问题,B站一个视频的弹幕最多会有多少? 比较多的会有2000条吧,这么多数据,B站肯定是不会直接把弹幕和这个视频绑在一起的. 也就是说,有一个视频地址为https://www.bilibi ...

  7. python爬取豆瓣电影信息可行性分析_Python爬虫实现的根据分类爬取豆瓣电影信息功能示例...

    本文实例讲述了Python爬虫实现的根据分类爬取豆瓣电影信息功能.分享给大家供大家参考,具体如下: 代码的入口:if __name__ == '__main__': main()#! /usr/bin ...

  8. python爬斗鱼直播_Python爬虫:利用API实时爬取斗鱼弹幕

    原标题:Python爬虫:利用API实时爬取斗鱼弹幕 这些天一直想做一个斗鱼爬取弹幕,但是一直考试时间不够,而且这个斗鱼的api接口虽然开放了但是我在github上没有找到可以完美实现连接.我看了好多 ...

  9. python 网上爬取数据源码_Python爬虫经常爬不到数据,或许你可以看一下小编的这篇文章...

    1.最简单的Python爬虫 最简单的Python爬虫莫过于直接使用urllib.request.urlopen(url=某网站)或者requests.get(url=某网站)例如:爬取漫客栈里面的漫 ...

最新文章

  1. mysql脚本下载_Mysql备份脚本
  2. java ee会员功能项目_基于jsp的会员系统-JavaEE实现会员系统 - java项目源码
  3. Web前端人员如何面试?常见vue面试题有哪些?
  4. 1289 大鱼吃小鱼
  5. Linux 守护进程的启动方法
  6. jenkins+postman+newman环境搭建自动化测试
  7. mysqli得到记录数量
  8. mongo(删除操作)
  9. NDB的备份和恢复---测试start backup和ndb_restore
  10. 网络图结构中节点度分布的散点图
  11. html如何生成条形码,前端使用JsBarcode生成条形码
  12. pr 文件结构不一致_只要你用过PR,就一定会遇到这些的问题(下)
  13. DBA运维福音:10分钟,一行命令安装Oracle数据库
  14. Chrome常见的好用插件(满分好评)
  15. python docx修改word文档格式
  16. 实验4-1-12 黑洞数 (20 分)
  17. 微信公众号配置网页授权域名报错:无法访问xxx指向的web服务器或虚拟主机的目录
  18. 抓包工具 charles 在线破解方法,支持4.2.6版本
  19. 一文搞懂什么是模拟退火算法SImulated Annealing【附应用举例】
  20. RGB与Lab颜色空间互相转换

热门文章

  1. 软考是否用计算机,国家软考与计算机等级考试有什么区别
  2. c语言应用程序的开发步骤,C语言如何开发桌面GUI应用程序?
  3. 利用python将图片格式转为PDF
  4. iPhone 手机内存,
  5. HTML面试题十:前端需要注意哪些SEO
  6. 3DGS脚本教程翻译(11)-指针
  7. 我对“读书有什么用”的理解
  8. 汽车电子电气架构演进驱动主机厂多重变化
  9. FCPX插件:创意有趣复古英文字母数字符号贴纸定格动画
  10. git回退远程分支某个版本