小说爬取练习

简介: 通过Python的requests和BeautifulSoup4库爬取小说网站内容,详细说明爬取步骤和代码实现。

一、网络爬虫是什么?

网络爬虫,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

二、需要用到的库

通过pip命令安装,pip install requests

通过pip命令安装,pip install beautifulsoup4

# 引入库:
import requests
from bs4 import BeautifulSoup

三、爬取资源步骤

1.从开发者工具中找到你想要获取资源的位置

F12 呼出 开发者工具 -->选择元素栏-->查找你要的资源的位置

查看一下文字资源的位置。

资源已经查找完毕,可以开始写代码了。

2.代码部分

import requests
from bs4 import BeautifulSoup

def getRep():
    # 伪装标准请求头
    headers = {
   "User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1;Trident / 5.0;"}
    # 网站地址
    url = 'https://book.qidian.com/info/1032778366/#Catalog'
    response = requests.get(url, headers)
    if response.status_code!=200:
        print("未能成功响应")
    elif response.status_code==200:
        print("成功响应")
    # 设定响应编码,
    response.encoding = "utf-8"
    # 获取字符文本结构
    respTxt = response.text
    # 通过beautifulsoup对象来获取它的树结构
    soup1 = BeautifulSoup(respTxt,'html.parser')
    # 获取 章节列表资源 --<h2 class="book_name"><a data-cid="xxx"></a></h2>
    chapterBox = soup1.find_all("h2",class_="book_name")
    for cpd in chapterBox:
        cpList = cpd.a
        cpUrl = 'https:' +cpList['data-cid']
        secondLink(cpurl=cpUrl)

def secondLink(cpurl):
    secLink = cpurl
    headers = {
   "User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1;Trident / 5.0;"}
    response2 = requests.get(secLink,headers)
    if response2.status_code!=200:
        print("章节响应失败")
    elif response2.status_code==200:
        print("章节响应成功")
    # 设定响应编码,
    response2.encoding = "utf-8"
    # 获取字符文本结构
    resp2Txt = response2.text
    # 获取每个章节盒子
    soup2 = BeautifulSoup(resp2Txt,'html.parser')
    # 章节标题 <span class="content-wrap">章节标题<span>
    # 段落内容 <div class="read-content j_readContent">文字内容</div>
    title = soup2.find("span", class_="content-wrap").text
    readBoxs = soup2.find("div", class_="read-content j_readContent").text
    print(title)
    f = open("d:/t1.txt", 'a',encoding='utf-8')
    f.write(title)
    f.write(readBoxs)  # 将字符串写入文件中
    f.write("\n")
getRep()
     4.运行结果

相关文章
|
6月前
|
数据采集 JSON JavaScript
Python爬虫案例:抓取猫眼电影排行榜
python爬取猫眼电影排行榜数据分析,实战。(正则表达式,xpath,beautifulsoup)【2月更文挑战第11天】
255 2
Python爬虫案例:抓取猫眼电影排行榜
|
25天前
|
Web App开发 JSON JavaScript
爬取王者荣耀图片
【10月更文挑战第11天】爬取王者荣耀图片。
83 2
|
2月前
|
数据采集
做个爬虫吧:豆瓣《八佰》影评
做个爬虫吧:豆瓣《八佰》影评
29 0
|
5月前
|
数据采集 存储 JSON
豆瓣电影信息爬虫实战-2024年6月
使用Python和`requests`、`PyQuery`库,本文教程教你如何编写一个豆瓣电影列表页面的爬虫,抓取电影标题、导演、主演等信息。首先确保安装所需库,然后了解技术栈,包括Python、Requests、PyQuery和正则表达式。爬虫逻辑包括发送HTTP请求、解析HTML、提取数据。代码示例展示了如何实现这一过程,最后运行爬虫并将结果保存为JSON文件。注意遵守网站使用条款和应对反爬策略。
139 2
|
6月前
爬取小说
爬取小说
59 0
|
6月前
爬取电影数据
爬取电影数据
58 0
|
6月前
爬取猫眼电影
爬取猫眼电影
62 0
|
数据采集 XML 存储
构建一个简单的电影信息爬虫项目:使用Scrapy从豆瓣电影网站爬取数据
这个案例展示了如何使用 Scrapy 框架构建一个简单的爬虫项目,从网页中提取数据并保存到文件中。通过配置、编写爬虫代码、定义数据模型和数据处理管道,你可以灵活地构建各种爬虫应用。
309 0
构建一个简单的电影信息爬虫项目:使用Scrapy从豆瓣电影网站爬取数据
|
数据采集 Python
python爬虫爬取豆瓣电影排行榜
爬虫爬取豆瓣电影排行榜
|
文件存储 Python
简单爬取豆瓣电影相关信息
简单爬取豆瓣电影相关信息
157 0
简单爬取豆瓣电影相关信息