网络爬虫爬取实例,永久免费的爬虫软件

首页 > 经验 > 作者:YD1662022-11-08 14:34:05

一次爬多篇文章,逻辑是先从主网址爬到每篇文章的网址,再从各个网址处爬取文章,很简单的静态网页爬取,不需考虑反扒问题。话不多说,直接案例说话。

实例:从https://www.biquge.com.cn/book/24032/,爬取小说的全部章节的内容。

网络爬虫爬取实例,永久免费的爬虫软件(1)

图1

实现方法:requests 访问 BeautifulSoup解析

1、目标网址是静态网页,浏览网址和数据网址相同,可直接使用。

import requests # 导入requests库 from bs4 import BeautifulSoup # 导入BeautifulSoup库 url = ''https://www.biquge.com.cn/book/23341/'' # 准备好目标网址

2、requests 访问网址获得网页

打开浏览器控制台,查看Network下的Response发现有我们需要用的章节的标题和链接,用requests访问网址,就是为了获取下图中response界面下红框的内容。

网络爬虫爬取实例,永久免费的爬虫软件(2)

图2

requests 访问网址代码:

import requests from bs4 import BeautifulSoup url = ''https://www.biquge.com.cn/book/23341/'' response= requests.get(url) # requests访问网址,获得的内容放入response

获得的内容放入response变量(自定义,可随意取)里。

3、BeautifulSoup解析网页获得内容

用BeautifulSoup解析response变量里的内容,方法为:

import requests from bs4 import BeautifulSoup url = ''https://www.biquge.com.cn/book/23341/'' response= requests.get(url) soup = BeautifulSoup(response.content, 'lxml') # BeautifulSoup解析response里的内容,放入soup里

现在网页内容已经被赋值到变量soup了,此时若打印s,会得到上面图2红框的内容。

4、解析内容爬取小说名,并用其创建一个文件夹,以备放后面下载的小说正文

通过在response里查找,我们发现标题在图3如下位置有出现:

网络爬虫爬取实例,永久免费的爬虫软件(3)

图3

booktitle = soup.find('h1').text if not os.path.isdir(booktitle): # 判断当前文件夹下是否存在和小说名同名的文件夹 os.makedirs(booktitle) # 若不存在,则创建小说同名文件夹

网络爬虫爬取实例,永久免费的爬虫软件(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.