一、爬取简单的网页

1、打开cmd
2、安装requests模块,输入pip install requests

3、新建一个.py文件,我们以https://www.bqkan.com这个网站为例,以下是爬取斗罗大陆的网页

import requests  # 导入requests包url = 'https://www.bqkan.com/3_3026/1343656.html'
strHtml = requests.get(url)  # Get方式获取网页数据
html = strHtml.text
print(html)

二、爬取小说的某一章节

1、打开cmd,安装Beautiful Soup,输入pip install beautifulsoup4
2、对爬取出来的数据进行数据清洗,代码如下:

# 爬虫爬取网页
import requests  # 导入requests包
from bs4 import BeautifulSoupurl = 'https://www.bqkan.com/3_3026/1343656.html'
strHtml = requests.get(url)  # Get方式获取网页数据
html = strHtml.text
bf = BeautifulSoup(html,"html.parser")
texts = bf.find_all('div', class_='showtxt')
print(texts[0].text.replace('\xa0'*8,'\n\n'))

三、爬取整本小说

以斗罗大陆 URL=https://www.bqkan.com/3_3026/为例:
1、打开审查元素 F12,我们发现这些章节都存在于div标签下的class属性为listmain中,并且都是通过和https://www.bqkan.com/3_3026进行拼接的网址:

2、于是,我们修改原有代码,如下图所示,就可以获得所有章节的href中的地址:

import requests  # 导入requests包
from bs4 import BeautifulSoupurl = 'https://www.bqkan.com/3_3026'
strHtml = requests.get(url)  # Get方式获取网页数据
html = strHtml.text
bf = BeautifulSoup(html,"html.parser")
div = bf.find_all('div', class_='listmain')
print(div[0])

3、通过Beautiful Soup对数据进行清洗,获得每个章节的完整链接,代码如下:

import requests  # 导入requests包
from bs4 import BeautifulSoupsource = "https://www.bqkan.com/"
url = 'https://www.bqkan.com/3_3026'
strHtml = requests.get(url)  # Get方式获取网页数据
html = strHtml.text
bf = BeautifulSoup(html, "html.parser")
div = bf.find_all('div', class_='listmain')
a_bf = BeautifulSoup(str(div[0]), "html.parser")
a = a_bf.find_all("a")
for item in a:print(item.string, source + item.get("href"))

4、获得到了每一章的完整链接,于是我们可以对该小说进行完整下载了,代码如下:

from bs4 import BeautifulSoup
import requestsclass downloader(object):# 初始化def __init__(self):self.server = 'http://www.biqukan.com'self.target = 'https://www.bqkan.com/3_3026'self.names = []  # 存放章节名self.urls = []  # 存放章节链接self.nums = 0  # 章节数# 获取完整章节地址def get_download_url(self):req = requests.get(url=self.target)html = req.textdiv_bf = BeautifulSoup(html, "html.parser")div = div_bf.find_all('div', class_='listmain')a_bf = BeautifulSoup(str(div[0]), "html.parser")a = a_bf.find_all("a")self.nums = len(a)  # 统计章节数for each in a:print(each.string,self.server + each.get('href'))self.names.append(each.string)self.urls.append(self.server + each.get('href'))# 获取对应链接的地址def get_contents(self, target):req = requests.get(url=target)html = req.textbf = BeautifulSoup(html, "html.parser")texts = bf.find_all('div', class_='showtxt')texts = texts[0].text.replace('\xa0' * 8, '\n\n')return texts# 将内容写入磁盘中def writer(self, name, path, text):write_flag = Truewith open(path, 'w', encoding='utf-8') as f:f.write(name + '\n')f.writelines(text)f.write('\n\n')if __name__ == "__main__":dl = downloader()dl.get_download_url()print('《斗罗大陆》开始下载:')for i in range(dl.nums):print("正在下载=>", dl.names[i])dl.writer(dl.names[i], 'E:\\斗罗大陆\\' + dl.names[i] + '.txt', dl.get_contents(dl.urls[i]))print('《斗罗大陆》下载完成!')

5、运行结果如图所示:

利用Python爬取网页内容相关推荐

  1. python 怎么爬桌软件数据_如何利用Python爬取并分析红岭创投的数据?

    第一步:爬取数据 通过 selenium + Firefox 的无头模式将需要的数据爬取出来,代码实现不在赘述,详细步骤可查看我的上一篇图文(如何利用Python爬取网易新闻), 由于 seleniu ...

  2. python 翻译库本地库_利用python爬取并翻译GEO数据库

    原标题:利用python爬取并翻译GEO数据库 GEO数据库是NCBI创建并维护的基因表达数据库,始于2000年,收录了世界各国研究机构提交的高通量基因表达数据,现芯片集数据量高达12万以上.想要从这 ...

  3. 利用python爬取东方财富网股吧评论并进行情感分析(一)

    利用python爬取东方财富网股吧评论(一) python-东方财富网贴吧文本数据爬取 分享一下写论文时爬数据用到的代码,有什么问题或者改善的建议的话小伙伴们一起评论区讨论.涉及内容在前人的研究基础之 ...

  4. python爬取股票信息_利用Python爬取网易上证所有股票数据(代码

    利用Python爬取网易上证所有股票数据(代码 发布时间:2018-04-14 17:30, 浏览次数:1261 , 标签: Python import urllib.request import r ...

  5. 利用python爬取豆瓣电影top250

    利用python爬取豆瓣电影top250: 注:本内容只是作为个人学习记录 1.业务分析 进入网页https://movie.douban.com/top250 可以看见每部电影都呈现在眼前,点击电影 ...

  6. 利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息

    新增:国外疫情网站介绍 已更新:爬取国外疫情数据 已更新:新型肺炎历史数据下载 2020年3月27日补充: 制作了一个全球肺炎数据查询下载网站,效果如下: 访问地址:http://119.3.227. ...

  7. python爬取电脑本地数据_利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息...

    原标题:利用python爬取丁香医生上新型肺炎数据,并下载到本地,附带经纬度信息 新型肺炎肆虐全国,可以预知,最近一两年地理学中会有一部分论文研究新型肺炎的空间分布及与其他指标的关联分析.获取其患病人 ...

  8. 利用 Python 爬取了近 3000 条单身女生的数据,究竟她们理想的择偶标准是什么?

    灵感来源与学习:利用 Python 爬取了 13966 条运维招聘信息,我得出了哪些结论? 本文原创作者:壹加柒 本文来源链接:https://blog.csdn.net/yu1300000363/a ...

  9. 利用Python爬取国家水稻数据中心的品种数据

    利用Python爬取国家水稻数据中心的品种数据 一.页面获取 python可以进行对网页的访问,主要用到requests,beautifulsoup4包. 首先新建一个page的py文件,用来获取页面 ...

  10. 利用Python爬取《囧妈》豆瓣短评数据,并进行snownlp情感分析

    利用Python爬取<囧妈>豆瓣短评数据,并进行snownlp情感分析 一.电影评论爬取 今年的贺岁片<囧妈>上映前后,在豆瓣评论上就有不少网友发表了自己的观点,到底是好评的声 ...

最新文章

  1. 软考网络工程师身份证忘记领取啦怎么办
  2. Spring JDBC详解
  3. [luogu2148 SDOI2009] ED (博弈论)
  4. 35所大学获批新增「人工智能」本科专业,工学学位、四年制
  5. discuz论坛 java,如何添加Discuz论坛的应用
  6. thinking-in-java(20)注解
  7. linux系统下修改某个文件夹下所有的文件权限
  8. ​阿里云SAE助力百富旅行实现Serverless+微服务完美结合
  9. 多小区下小区上行速率的计算(4)
  10. vant中修改用户的头像
  11. 网站建设公司该不该把web前端外包出来!精辟
  12. 关于一个App调起另一个App
  13. 你还在为校园内丢失东西无处可寻而发愁吗?速戳进来
  14. 海龟交易法则13_系统
  15. 函数笔记(常数函数、幂函数、指数函数、对数函数、三角函数、反三角函数、复合函数)
  16. “云原生”技术公开课第1章:第一堂“云原生”课
  17. 解决流氓软件布丁桌面、布丁压缩、值购助手、智能云输入法、蒲公英wifi、柚子壁纸、麦家购物助手反复安装
  18. 游戏服务器炸了多久能修复,DNF:腾讯游戏服务器炸了,仅仅几分钟玩家们却损失惨重...
  19. 相机漫游,绕物体旋转及缩放(Android及手机端通用)
  20. C#三分钟教你理解DataTable、Datarow、DataColumn的关系以及用法

热门文章

  1. Cassandra在海量数据存储及大型项目案例介绍-part1
  2. php 生日提醒,PHP中实现简单的生日提醒功能实例,简单又实用!
  3. ABO血型系统遗传规律表
  4. 手机扫描二维码登录原理
  5. 计算机登录界面怎么切换用户,windows10开机界面怎么切换用户
  6. ios 线条球_画线弹球球游戏下载|画线弹球球ios版下载v1.0.2-乐游网IOS频道
  7. vCenter Server 相关介绍
  8. 什么是CI/CD?它们与敏捷开发和devops的关系?
  9. 北京航空航天大学计算机学院系主任,北京航空航天大学计算机学院王蕴红教授访问我中心...
  10. aspose-word的简单使用以及转pdf线上乱码