当前位置:   article > 正文

利用Python爬取网络小说(基础)_网页小说采集提取源代码python

网页小说采集提取源代码python

Python 爬取网络小说(笔趣阁小说)

爬虫的一般步骤(小白见解)

1.通过requests库获取网页内容
2.通过BeautifulSoup库解析网页内容
3.在网站源码里找到要爬取的内容
4.成功
ps:建议还是学一部分网页知识之后再来学爬虫更好理解一些
import requests
import bs4
from bs4 import BeautifulSoup
import os
def getHTMLText(url):
    try:
        r = requests.get(url)"""从服务器获取HTML网页内容"""
        r.raise_for_status()"""判断是否成功获取"""
        r.encoding=r.apparent_encoding
        return r.text"""返回网页内容"""
    except:
        return ""

"""
这个函数负责把所有的网页链接保存进列表中
这里暂时只保存前24章的链接
"""
def fillWebList(html,wlist):
    i = 0
    soup = BeautifulSoup(html,"html.parser")
    for dd in soup.find('dl').children:
        i = i + 1
        if i >= 24:
            if isinstance(dd,bs4.element.Tag):"""判断属性是否是标签"""
               dds=dd.contents
               link = "http://www.tianxiabachang.cn"+dds[0].attrs['href']
               wlist.append(link)

def enterLink(ulist):"""进入链接获取小说内容"""
    i = 0
    for link in ulist:
        i = i + 1
        url = link
        html = getHTMLText(url)
        soup = BeautifulSoup(html,"html.parser")
        #res = soup.find(id='content')
        f = open("C:/Users/联想/Desktop/exa.txt","a+",encoding = 'utf-8-sig')"""这是我的电脑文件,不同的电脑文件路径不同,需要改"""
        f.write("第%d章"%i)
        f.write('\n')
        if i > 24:
            break
        for br in soup.find(id='content').children:"""找到id属性值为content的,并遍历其所有子元素"""
            if br.string is not None:"""判断是否有字符串"""
                f.write(br.string)
        f.write('\n')          
        print("打印成功")

def main():
    wlist=[]
    url = "http://www.tianxiabachang.cn/5_5731/"
    html = getHTMLText(url)
    fillWebList(html,wlist)
    enterLink(wlist)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53

大佬勿喷。。。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/825107
推荐阅读
相关标签
  

闽ICP备14008679号