python3爬虫-使用requests爬取起点小说

import requests
from lxml import etree
from urllib import parse
import os, time

def get_page_html(url):
    ‘‘‘向url发送请求‘‘‘
    resoponse = session.get(url, headers=headers, timeout=timeout)
    try:
        if resoponse.status_code == 200:
            return resoponse
    except Exception:
        return None

def get_next_url(resoponse):
    ‘‘‘获取下一页的url链接‘‘‘
    if resoponse:
        try:
            selector = etree.HTML(resoponse.text)
            url = selector.xpath("//a[@id=‘j_chapterNext‘]/@href")[0]
            next_url = parse.urljoin(resoponse.url, url)
            return next_url
        except IndexError:
            return None

def xs_content(resoponse):
    ‘‘‘获取小说的章节名,内容‘‘‘
    if resoponse:
        selector = etree.HTML(resoponse.text)
        title = selector.xpath("//h3[@class=‘j_chapterName‘]/text()")[0]
        content_xpath = selector.xpath(
            "//div[contains(@class,‘read-content‘) and contains(@class,‘j_readContent‘)]//p/text()")
        return title, content_xpath

def write_to_txt(info_tuple: tuple):
    if not info_tuple: return
    path = os.path.join(BASE_PATH, info_tuple[0])
    if not os.path.exists(path):
        with open(path + ".txt", "wt", encoding="utf-8") as f:
            for line in info_tuple[1]:
                f.write(line + "\n")
            f.flush()

def run(url):
    ‘‘‘启动‘‘‘
    html = get_page_html(url)
    next_url = get_next_url(html)
    info_tupe = xs_content(html)
    if next_url and info_tupe:
        print("正在写入")
        write_to_txt(info_tupe)
        time.sleep(sleep_time)  # 延迟发送请求的时间,减少对服务器的压力。
        print("正在爬取%s" % info_tupe[0])
        print("正在爬取%s" % next_url)
        run(next_url)

if __name__ == ‘__main__‘:
    session = requests.Session()
    sleep_time = 5
    timeout = 5
    BASE_PATH = r"D:\图片\LSZJ"  # 存放文件的目录
    url = "https://read.qidian.com/chapter/8iw8dkb_ZTxrZK4x-CuJuw2/fWJwrOiObhn4p8iEw--PPw2"  # 这是斗破苍穹第一章的url    需要爬取的小说的第一章的链接(url)
    headers = {
        "Referer": "read.qidian.com",
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36"
    }
    print(‘开始运行爬虫‘)
    run(url)

原文地址:https://www.cnblogs.com/zhuchunyu/p/10765939.html

时间: 2024-10-28 14:51:43

python3爬虫-使用requests爬取起点小说的相关文章

python3爬虫-通过requests爬取图虫网

import requests from fake_useragent import UserAgent from requests.exceptions import Timeout from urllib.parse import quote, unquote import re, json, os, hashlib from lxml import etree import time from multiprocessing import Process, Queue, Pool # 之前

【Python3 爬虫】U11_爬取中国天气网

目录 1.网页分析 2.代码实现 1.网页分析 庚子年初,各种大事件不期而至,又赶上最近气温突变,所以写个爬虫来爬取下中国天气网,并通过图表反映气温最低的前20个城市. 中国天气网:http://www.weather.com.cn/textFC/hb.shtml 打开后如下图: 从图中可以看到所有城市按照地区划分了,并且每个城市都有最低气温和最高气温,通过chrome查看Elements,如下: 从上图可以看到展示当天的数据,那么<div class='conMidtab'>..这个标签则没

spider爬虫练习,爬取顶点小说网,小说内容。

------------恢复内容开始------------ 我这里练习爬虫的网站是顶点小说网,地址如下: https://www.booktxt.net/ 我这里以爬取顶点小说网里面的凡人修仙传为例子: 首先观察界面: 第一章: 第二章: 由上面可得出规律,每点一次下一章,url后面的数字就会自动加1. 爬虫主要分为3步: 第一步:构建url列表 def url_list(self): url = "https://www.booktxt.net/1_1562/{}.html" ur

【Python3 爬虫】14_爬取淘宝上的手机图片

现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢? 首先,我们需要分析网页,先看看网页有哪些规律 打开淘宝网站http://www.taobao.com/ 我们可以看到左侧是主题市场,将鼠标移动到[女装/男装/内衣]这一栏目,我们可以看到更细类的展示 假如我们现在需要爬取[羽绒服],那么我们进入到[羽绒服]衣服这个界面 此时查看浏览器地址,我们可以看到 网址复制到word或者其他地方会发生url转码 我们可以选中[羽绒服模块的第1,2,3页进行网址对比],对比结果

【Python3 爬虫】U09_爬取hao6v电影网

目录 1.需求描述 2.实现代码 1.需求描述 爬取hao6v电影网的数据,先通过xpath解析第一个页面,获取到每部电影的url详情页地址,然后解析详情页地址,获取出所需的数据 页面如下: 2.实现代码 # Author:Logan import requests from lxml import etree HEADERS = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML

爬虫简单之二---使用进程爬取起点中文网的六万多也页小说的名字,作者,等一些基本信息,并存入csv中

爬虫简单之二---使用进程爬取起点中文网的六万多也页小说的名字,作者,等一些基本信息,并存入csv中 准备使用的环境和库Python3.6 + requests + bs4 + csv + multiprocessing 库的说明 requests模拟计算机对服务器发送requests请求 bs4:页面分析功能,分析页面找到所需要的特定内容 xlwt:把爬取的内容存入csv文件中 multiprocessing:开启多进程爬取 1.准备URLs 起点中文网 起点中文网的URL:https://w

如何用python爬虫从爬取一章小说到爬取全站小说

前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 很多好看的小说只能看不能下载,教你怎么爬取一个网站的所有小说 知识点: requests xpath 全站小说爬取思路 开发环境: 版 本:anaconda5.2.0(python3.6.5) 编辑器:pycharm 第三方库: requests parsel 进行

【转载】教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神

原文:教你分分钟学会用python爬虫框架Scrapy爬取心目中的女神 本博文将带领你从入门到精通爬虫框架Scrapy,最终具备爬取任何网页的数据的能力.本文以校花网为例进行爬取,校花网:http://www.xiaohuar.com/,让你体验爬取校花的成就感. Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据.Scrapy用途广泛,可以用于数据挖掘.监测和自动化测试. Scrapy吸引人的地方在于它是一个框架,任何人都可

爬虫入门之爬取策略 XPath与bs4实现(五)

爬虫入门之爬取策略 XPath与bs4实现(五) 在爬虫系统中,待抓取URL队列是很重要的一部分.待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,因为这涉及到先抓取那个页面,后抓取哪个页面.而决定这些URL排列顺序的方法,叫做抓取策略.下面重点介绍几种常见的抓取策略: 1 深度优先遍历策略: 深度优先遍历策略是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接.我们以下面的图为例:遍历的路径:A-F-G E-H-I B C D