首页 > 其他分享 >爬取笔趣阁小说-xpath

爬取笔趣阁小说-xpath

时间:2022-11-20 11:00:47浏览次数:46  
标签:xpath content emptylist bqg99 text chapter list 爬取 笔趣

1、获取小说标题、详情页链接

爬取笔趣阁小说-xpath_html

url = 'https://www.bqg99.com/book/109323/'
list_html = requests.get(url=url,headers=headers)
selector =etree.HTML(list_html.text)
lis =selector.xpath('/html/body/div[@class="listmain"]//dd/a/@href') #提取所有章节页
title = selector.xpath('/html/body/div/span/text()')[0]

2、构造详情页链接并处理成列表形式

emptylist = []
for i in lis:
href_list = "https://www.bqg99.com" + i
# print(href_list)
emptylist.append(href_list)
emptylist.remove(emptylist[10]) #第11个网页不是我们想要的网页链接

3、访问小说每一章内容,获取数据并下载

for li in emptylist:
req = requests.get(url=li,headers=headers)
sel = etree.HTML(req.text)
content = sel.xpath('//*[@id="chaptercontent"]/text()')
chapter =sel.xpath('//*[@id="read"]/div/span/text()')[0]
content = '\n'.join(content) #用换行符\n 拼接列表
content = content.replace('请收藏本站:https://www.bqg99.com。笔趣阁手机版:https://m.bqg99.com ','')
this_chapter =f'\n{chapter}\n{content}'
with open(file=file_name,mode='a',encoding='UTF-8') as f:
f.write(this_chapter)
print(f'{chapter}--下载完成!') #打印下载

4、代码

import requests
from lxml import etree

headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36'
}
url = 'https://www.bqg99.com/book/109323/'
list_html = requests.get(url=url,headers=headers)
selector =etree.HTML(list_html.text)
lis =selector.xpath('/html/body/div[@class="listmain"]//dd/a/@href') #提取所有章节页
title = selector.xpath('/html/body/div/span/text()')[0]
file_name = f'小说/{title}.txt' #定义本地存储名称
emptylist = []
for i in lis:
href_list = "https://www.bqg99.com" + i
# print(href_list)
emptylist.append(href_list)
emptylist.remove(emptylist[10]) #第11个网页不是我们想要的网页链接
# print(emptylist)
for li in emptylist:
req = requests.get(url=li,headers=headers)
sel = etree.HTML(req.text)
content = sel.xpath('//*[@id="chaptercontent"]/text()')
chapter =sel.xpath('//*[@id="read"]/div/span/text()')[0]
content = '\n'.join(content) #用换行符\n 拼接列表
content = content.replace('请收藏本站:https://www.bqg99.com。笔趣阁手机版:https://m.bqg99.com ','')
this_chapter =f'\n{chapter}\n{content}'
with open(file=file_name,mode='a',encoding='UTF-8') as f:
f.write(this_chapter)
print(f'{chapter}--下载完成!') #打印下载


5、总结

a.详情页没处理成列表导致报错

爬取笔趣阁小说-xpath_chrome_02


b.用etree接受数据导致报错

爬取笔趣阁小说-xpath_html_03

标签:xpath,content,emptylist,bqg99,text,chapter,list,爬取,笔趣
From: https://blog.51cto.com/u_15698082/5871301

相关文章

  • xpath解析
    ---安装---pipintalllxml xpath用法步骤1.实例化一个etree对象,且需要将被解析的页面数据加载到该对象中--将本地的html文件加载到etree中etree.parse(filepat......
  • python爬虫实战一、爬取酷我音乐榜单并写入txt文件保存到本地
    python爬虫实战一、爬取酷我音乐榜单并写入txt文件保存到本地一、总代码和运行截图#加载需要的库importrequestsfrombs4importBeautifulSoupfromlxmlimportetreef=......
  • Python爬虫实战:批量爬取百度图片
    众所周知,某度本身就是最大的爬虫脚本,那么纯纯的去某个网站找壁纸,还不如去某度图片直接找,瞬间格局打开!话不多说,直接用Python来开发一下此处资源!开发环境&第三方模......
  • 挑战答题题库爬取
    可参考思路#coding:utf-8importrequestsimportpymysqlfrombs4importBeautifulSoupimporttimefromlxmlimportetreeimportreclassBank:def__init__(self):......
  • python爬取公众号文章发布时间
    使用xpath取出来的是空,爬取到本地的html,时间的标签如下,内容也是是空的<emid="publish_time"class="rich_media_metarich_media_meta_text"></em>经过查找发现网页使用的......
  • python爬取斗鱼主播图片
         今天闲来无事,爬取一下斗鱼女主播的图片,之前学习scrapy的时候写过一个找不到了,今天使用requests和bs4重新写了一份,闲话不多说,直奔主题。首先用Chrome浏览器......
  • python爬取智联招聘信息_F_hawk189_新浪博客
    分享今天写的一个爬取智联招聘信息的爬虫,使用了requests和re模块,没有写注释,但是代码都比较简单,不是太难,这是爬取的信息:​​​​​​以下是源码部分:复制过来又没......
  • python学习 爬取亚马逊网页,失败后。修改HTTP报文头部后成功!
    通过修改HTTP报文头部,来成功获取网页内容!  pythonimportrequestsr=requests.get("https://www.amazon.cn/gp/product/B01M8L5Z3Y")r.status_coder.encoding  >>>......
  • 小爬爬6: 网易新闻scrapy+selenium的爬取
    1.​​https://news.163.com/​​国内国际,军事航空,无人机都是动态加载的,先不管其他我们最后再搞中间件2.我们可以查看到"国内"等板块的位置  新建一个项目,创建一个爬......
  • 爬取彼岸网明星图片
    爬取彼岸网明星图片:背景:彼岸网是一个大型的图片网站,上面有很多的图片,这次我们就来爬取彼岸网第一步:准备Python爬取准备前的各种库:importrequestsfromlxmlimportetreeimp......