作为python小白,总是在网络上看到关于python爬取各种数据的新闻,于是决定尝试之!

一:首先是python的安装,下载地址: https://www.python.org/downloads/release/python-370/

我是win64的电脑,所以直接下载win64的安装包,下载完成之后傻瓜式下一步完成安装

为了免去配置环境变量,python有个很友好的设置,直接为你的电脑添加环境变量,安装完成之后,CMD输入python:

到这里,python安装完成。

二:安装IDE

对于一个新手来说,直接用shell开发是不友好的(好吧,我承认单纯觉得太丑  #微笑),所以安装Pycharm,下载地址:http://www.jetbrains.com/pycharm/download/#section=windows,为了避免选择安装路径的一系列麻烦事,直接下一步,简单粗暴。安装完成之后,就可以开始写helloworld啦,是不是很方便呢。

三:小试牛刀——小爬虫

python要编写爬虫,最快捷的方式就是用第三方库,在此小白同学选择的是requests+beautifulsoup。

(1):首先在你的IDE安装这两个库,File--->setting--->选择--->project+你的项目名--->project intercepter--->点击右边的+号,进入搜索第三方库的页面,搜索requests库和beautifulsoup库,installpackage会自动帮你安装咯。

(2):开始代码。好啦,至此已经做好准备工作啦,接下来就开始编写代码咯,吼吼,终于来到了小白最兴奋的地方。在工作目录下File--->new file,为了省略麻烦步骤(只是学习用),所以直接创建.py文件用于编写代码,先贴代码,然后一步步解释:

# -*- coding: UTF-8 -*-import requests
from bs4 import BeautifulSoup
import os'''
发送请求的方法
'''
def getHtml(url):req = requests.get(url=url)html_doc = req.textreturn BeautifulSoup(html_doc, "html5lib")'''
获取小说目录的方法
返回一个<a>标签列表
'''
def getDirs():soup = getHtml("https://www.biqukan.com/1_1094/")texts = soup.find_all("div", class_="listmain")soup1 = BeautifulSoup(str(texts[0]), "html5lib")texts1 = soup1.find_all("a")return texts1'''
获取小说正文的方式
'''
def getdoc(url):soup = getHtml(url=url)texts = soup.find_all('div', class_="showtxt")return texts[0].textdef main():server = "https://www.biqukan.com"alist = getDirs();i = 0for each in alist:if i >= 12: #去掉不想要的章节url = server+each.get("href") #每一章节小说的路径textName = each.string #每一章节小说的题目path = os.getcwd() #工作目录的路径text = getdoc(url)with open(path+"/一念永恒.txt", "a+t", encoding="utf8") as file:file.write(textName+"\n"+text+"\n")i += 1if __name__ == '__main__':main()

对以上代码做以下说明:

① # -*- coding: UTF-8 -*-   听前辈说python要用中文就必须要这行,遂写之,小白不怕麻烦。

②然后引入requests库,beautifulsoup库和html5lib,html5lib是为了防止代码乱码,之后在代码里面解释

③为了使代码看起来结构更好,更有层次感,所以对代码进行了函数封装,一个一个来。

说明:小白同学这次的学习是爬取我们家“白小纯”的一个过程(小说《一念永恒》),网站是[笔趣看]

③-1:getHtml方法是一个可重用的方法,直接用于创建requests连接,获取返回的数据,并return html_doc,这样在其它方法里面就不用再写requests的语句了。requests连接的方法有很多,在此处小白只用了get访问,如果需要具体了解,请参看requests的中文文档http://docs.python-requests.org/zh_CN/latest/user/quickstart.html。通过get访问,小白获取了需要的页面的html内容,然后通过req.text来获取页面的内容,再然后创建一个Beautifulsoup对象并return。在这里转换成Beautifulsoup对象的时候,括号里的参数"html5lib"不写的话,会出现警告,原理小白同学还不明白,先完成功能,之后再研究。

③-2:查看目录页面元素(一般的浏览器都是F12),小白同学发现,小说的目录列表都被一个div包裹着,而真正的章节路径和章节名都在里面的<a>标签里面,如图

这个时候获取里面的内容就要用到Beautifulsoup库了。首先在getDirs()函数中,小白同学通过getHtml()函数获取到整个页面的内容,使用Beautifulsoup的find_all()函数,就可以获取到我想要的元素内容啦(特别说明:find_all()函数返回的是一个列表),然后小白同学再将列表里面的内容通过str()函数转换成字符串,再用Beautifulsoup创建一个Beautifulsoup对象,再通过find_all()就能获取所有<a>标签的内容啦,return这个列表,小白同学就获取到了所有的章节目录和章节名啦。

③-3:getDoc()函数,通过小说的章节目录来获取小说的正文,方法同上,不做赘述了。

④最后最后就是小白同学本次学习最重要的内容啦——写入文件。喜欢的小说没法下载是不是很苦恼啊,不用怕,小白同学教你特殊的下载方法。在以上的内容中,小白同学获取到了《一念永恒》所有的章节名和章节内容,接下来就要写入到文件里面啦。python的文件操作需要import os库,os.getcwd()可以返回当前工作目录的路径,为了方便,小白同学就直接在当前目录创建文件啦。python创建文件也很简单,直接open()函数就可以。open()函数有不同的读写模式,在此小白同学既然是要下载整个小说,就选择了"a+t"的可追加读写模式。重要的问题说三遍:字符集,字符集,字符集(encoding='utf-8')。看到网上有说python默认gbk,小白同学还没考证,反正试着默认字符集是乱码。特别说明:with方法能够自动处理异常,避免使用try......finally,使代码更加简洁,但是貌似不加 'as'是错误的。

好啦,以上就是小白同学今天的python第一课的学习啦,怎么样是不是很简单呢,大家快去试试吧(〃'▽'〃)

瑟瑟发抖,小白的python第一课——网络爬虫相关推荐

  1. python网络爬虫程序_使用Python写的第一个网络爬虫程序

    今天尝试使用python写一个网络爬虫代码,主要是想訪问某个站点,从中选取感兴趣的信息,并将信息依照一定的格式保存早Excel中. 此代码中主要使用到了python的以下几个功能,因为对python不 ...

  2. 【网络爬虫入门01】应用Requests和BeautifulSoup联手打造的第一条网络爬虫

    [网络爬虫入门01]应用Requests和BeautifulSoup联手打造的第一条网络爬虫 广东职业技术学院 欧浩源 2017-10-14  1.引言 在数据量爆发式增长的大数据时代,网络与用户的沟 ...

  3. 基于python的影评数据分析_基于Python聚焦型网络爬虫的影评获取技术

    龙源期刊网 http://www.qikan.com.cn 基于 Python 聚焦型网络爬虫的影评获取技 术 作者:郭向向 郑嘉慧 苗学芹 来源:<时代金融> 2019 年第 11 期 ...

  4. python数据采集有哪些技术_如何快速掌握Python数据采集与网络爬虫技术

    一.数据采集与网络爬虫技术简介 网络爬虫是用于数据采集的一门技术,可以帮助我们自动地进行信息的获取与筛选.从技术手段来说,网络爬虫有多种实现方案,如PHP.Java.Python ....那么用pyt ...

  5. 用python如何写网络爬虫?

    前言 这本书我是真的强烈推荐的. 本书讲解了如何使用 Python 来编写网络爬虫程序,内容包括网络爬虫简介,从页面中抓取数据的三种方法,提取缓存中的数据,使用多个线程和进程来进行并发抓取,如何抓取动 ...

  6. Python实验1——网络爬虫及数据可视化

    Python实验1--网络爬虫及数据可视化 一.实验目标与基本要求 实验目标 基本要求 二.主要知识点.重点与难点 主要知识点 重点 难点 三.实验过程设计 获取网页 获取数据 保存到数据库 数据预处 ...

  7. python爬虫简单实例-Python 利用Python编写简单网络爬虫实例3

    利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站"http://bbs.51tes ...

  8. python从零基础到项目实战怎么样-Python 3.x网络爬虫从零基础到项目实战

    ● 案例完整 本书中的所有案例都是通过"理论讲解 + 环境搭建 + 完整代码及分析 + 运行结果"这种完善的结构进行讲解的.此外,复杂的案例配有项目结构图,有难度的案例还分析了底层 ...

  9. python为什么叫爬虫-python为什么叫网络爬虫

    爬虫可以抓取网站或应用程序的内容并提取有用的价值,它还可以模拟用户在浏览器或应用程序上的操作,以实现自动化程序.今天小编主要给大家分享python为什么叫网络爬虫,希望对你们有帮助! 一.你知道什么是 ...

最新文章

  1. Django 和 Ajax 简介
  2. 昂贵的聘礼(poj 1062)
  3. ftp服务器 无线路由器,用无线路由器构建FTP服务器 快乐大家分享
  4. java虚拟机06-内存分区/新生代、老年代
  5. python的web可视化_Python的Web可视化框架Dash(8)---核心组件
  6. list集合下标从几开始_Java基础进阶 集合框架详解
  7. 查看数据库文件大小写
  8. C# PDF转图片(JPG)
  9. 教育行业剧变:校讯通将死 家校沟通永生
  10. 智能医疗二次爆发,医疗的全产业链何时打通?
  11. 中段尾段全段什么意思_排气管中段 尾段 全段 和芭蕉 是什么意思
  12. 间断点怎么求?——6个例子来详细解析较难的间断点的求法
  13. SpringBoot 结合 Mybatis 实现创建数据库表
  14. 家庭版Windows10/Windows11不支持远程桌面的解决办法
  15. 送书 |《Python数据分析从小白到专家》
  16. 使用Travis-CI自动部署博客
  17. tabindex 用法说明
  18. 『WEB』web学习
  19. python3自动爬取网页资源并保存为epub电子书
  20. Python:实现newton raphson牛顿-拉夫森算法(附完整源码)

热门文章

  1. 计算机系统平台复习提纲
  2. XML第二讲:格式正规的XML文档、XML文档的元素、属性、实体深度详解
  3. 全球海底光缆分布图-Submarine Cable Map
  4. 一个韩国人在中国创业经验谈:只做一个功能是不行的!
  5. 框架Framework
  6. SpringSecurity的remember me记住我功能
  7. 计算机网络安装调试费用,计算机网络实验 网络设备及其安装调试new
  8. 2010年经典雷人语录
  9. 课堂笔记| 第七章:多态
  10. 神舟计算机调研报告,6月笔记本品牌关注调研报告 神舟居榜首