百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

一个简单的网络爬虫入门python(包括开发环境搭建和pycharm激活)

off999 2024-10-23 12:42 26 浏览 0 评论

基本任务:

I 搭建python开发环境

II 写一个简单的网络爬虫,在某一个网站将一部小说各章节(一般是一个章节一个网页)粘贴到一个文本文件内。

1 首先了解几个概念

1.1 网络爬虫

网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。

网络爬虫可以模拟浏览器浏览网页,自动批量下载网络资源(能够访问到的,放在网络服务器的文件)。

传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

1.2 小说网站的基本结构

首页(总目录)→分类→小说目录页→小说各章节;

1.3 与网站的交互

通常都是用户通过浏览器(当IE)访问网站(网络上的服务器)。

浏览器:网址(href)、请求(requests)→网站服务器:响应(response)给浏览器→浏览器:缓存并呈现回复的内容。

1.4 开发环境

用高级语言写的代码需要解释或编码到机器代码,才能被计算机执行。

所以开发一个程序,最基本的需求是一个文本编辑器(写)和解释器或编译器。

开发复杂的程序,需要调试查错、需要引入第三方库,需要边结各文件,所以,一般来说,一个简单的文本编辑器加一个解释器或编译器是不够的,需要一个支持某种高级语言的调试器的较复杂的编辑器。这样的编辑器同时还支持可以方便写代码(如颜色分类显示、代码提示)的插件加入。

2 搭建python开发环境

2.1 下载和安装解释器python3.6

2.1.1 python解释器下载地址:https://www.python.org/downloads/release/python-365/

2.1.2 关于环境变量path,就是可以保证执行python命令时,不需要输入安装路径。在安装时如果有直接勾选了"add python to path"则在安装时即自动配置了path的安装路径;

path变量中有了安装路径后,即可直接在CMD中输入python,可以看到相关反馈相信,即表示安装和环境变量配置OK了;

如果不安装代码编辑器或专用IDE,也可以在CMD中输入python,进行交互式开发;

2.2 下载和安装代码编辑器加调试器:pycharm4

PyCharm 由著名的JetBrains公司开发,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工 具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。

2.2.1 代码编辑器pycharm下载地址http://www.jetbrains.com/pycharm/download/#section=windows

2.2.2进入激活界面,选择第二个License server,之后在License server address中随意输入下面两个注册码中的任意一个即可,http://idea.liyang.io或http://xidea.online。

激活后的状态:

3 添加第三方模块

第三方模块添加工具pip必须在安装python3.5时有勾选安装。

编辑或新建C:\Users\wwuhnwu01\pip\pip.ini:

[global]

respect-virtualenv = true

download-cache = f:/Python/pip/cache

log-file = f:/Python/pip/pip.log

[install]

timeout = 30

find-links = http://pypi.douban.com

find-links = http://pypi.douban.com/simple

pycharm→文件→setting→project interpreter→pip→右边加号+→manage repositories→右边加号+→添加第三方模块的镜像服务器http://pypi.douban.com/和http://pypi.douban.com/simple

如果还是连接不上第三方模块服务器,有时需要重启一下pycharm。

4 一个简单的网络爬虫

3.1 新建项目

3.2 设置项目编译器

基本的思路:

进入一个小说的目录页,请求到目录(包括各章节的href和章节标题)的内容,提取到全部的href,再通过各href请求到各网页的内容,经过数据清洗和适当的回到,写入到一个文本文件

代码:

以上代码运行后,即可把整部小说的内容写入文本文件。

不同的网站,内面内容的写法会有差别,在提取数据和清洗数据时要做相应调整变化。

一些网站会禁止爬虫,当你尝试爬取网站资源时,一些网站会有反爬策略,将你的IP加入黑名单,当你爬取或访问时,页面会响应为:“HTTP Error 403: Forbidden错误”。

附源代码:

import requests

import re

# 1 获取小说目录页

url = 'http://www.xiaoshuotxt.org/wuxia/1617/'

response = requests.get(url)

response.encoding = 'utf-8'

html = response.text

title = re.findall(r'<meta name="keywords" content="(.*?),',html)[0]

# 4 数据持久化,写入txt)

fb = open('%s.txt'%title, 'w', encoding='utf-8');

# 2 提取章节

menu = re.findall(r'正文(.*?)</table>',html)[0]

chapter_info_list = re.findall(r'<a href="(.*?)" title=".*?">(.*?)</a>',menu)

# 3 循环访问章节,并获取内容

for chapter_info in chapter_info_list:

chapter_url = chapter_info[0]

chapter_title = chapter_info[1]

if 'http' not in chapter_url:

chapter_url = 'http://www.xiaoshuotxt.org%s' % chapter_url

chapter_response = requests.get(chapter_url)

chapter_response.encoding = 'utf-8'

chapter_html = chapter_response.text

# 数据提取

chapter_content = re.findall(r'<div class="panel-body" id="htmlContent">(.*?)</div>',chapter_html)

# 数据清洗(按页面规律)

chapter_content = chapter_content.replace(' ','')

chapter_content = chapter_content.replace('<br /><br /><br>','')

# 数据持久化(写入txt),先要在前面新建文件

fb.write(chapter_title)

fb.write('\n')

fb.write(chapter_content)

fb.write('\n')

#用以下语句可以看到动态过程

print(chapter_url)

-End-

相关推荐

xp系统永久激活密钥2020年(xp系统激活秘钥)

windowsxp产品密钥大全YBVJB-YV2JW-7FHPT-6D8XG-RT83GHRXTR-FKTCV-X8QCH-D7PTH-KYYPBJF8MD-XB4Y4-HHB28-Q3G2K-QW...

手写中文输入法下载安装(中文手写输入器)

1、首先第一步就是打开手机主界面,然后依次打开“设置”、“通用”、“键盘”,2、跳转的页面再点击“键盘”,3、勾选自己喜欢的中文手写模式,最后点击设定即可。仅参考先打开手机设置,然后点击一个语言和输入...

office2007的产品密钥(office 产品密钥)

下载一个kms软件关闭杀毒软件大概三十秒就会完成相应的注册然后就可以正常的使用了

十大杀毒app排行(知名杀毒软件)

360安全卫士今天就为您推荐杀毒软件排行榜第一的免费软件——360安全卫士,首创即扫即清功能,操作流程更简单,而且在用户使用过程当中还能有效拦截病毒的侵入,提供强力守护。状元:BitDefender ...

制作u盘系统安装盘win7(u盘制作win7操作系统)
  • 制作u盘系统安装盘win7(u盘制作win7操作系统)
  • 制作u盘系统安装盘win7(u盘制作win7操作系统)
  • 制作u盘系统安装盘win7(u盘制作win7操作系统)
  • 制作u盘系统安装盘win7(u盘制作win7操作系统)
笔记本怎么关闭防火墙(笔记本怎么关掉防火墙)

Win10教育版关闭防火墙设置方法  步骤1、在Win10桌面这台电脑图标上右键,然后选择“属性”。  步骤2、进入这台电脑属性之后,再点击左上角的“控制面板主页”。  步骤3、进入Win10控制面板...

32g内存还需要虚拟内存吗(32g内存还需要虚拟内存吗 知乎)

还需要的。虚拟内存是一定要的。就算你32G内存也是需要一个虚拟的转换空间。这个可以自己手动设置7000M左右就可以了,不用设置太大,没有用。虚拟内存是一定要的。就算你32G内存也是需要一个虚拟的...

5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
  • 5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
  • 5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
  • 5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
  • 5年前删qq好友恢复(几年前qq好友删除怎么恢复好友)
腾达路由器安装方法(腾达路由器安装方法和详细步骤)
  • 腾达路由器安装方法(腾达路由器安装方法和详细步骤)
  • 腾达路由器安装方法(腾达路由器安装方法和详细步骤)
  • 腾达路由器安装方法(腾达路由器安装方法和详细步骤)
  • 腾达路由器安装方法(腾达路由器安装方法和详细步骤)
windows补丁怎么更新(windows 补丁更新)

windowsserver系统补丁升级的方法,1.打开WindowsServer系统运行对话框;2.在对话框中输入“control”;3.系统控制面板窗口自动打开;4.点击“Systemand...

电脑打不开了怎么重装系统(电脑打不开怎么重装系统不用u盘)

1、在可用电脑上制作好U盘启动盘,将下载的电脑系统iso文件直接复制到U盘的GHO目录下;2、在开不了机的电脑上插入U盘,重启后不停按F12或F11或Esc等快捷键打开启动菜单,选择U盘选项回车,比如...

路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
  • 路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
  • 路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
  • 路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
  • 路由器用户名忘了怎么查(我的路由器用户名忘了怎么办)
一键清理垃圾下载(一键清除垃圾软件下载)

手机弹出广告是因为手机上的软件自动推送广告,可以在手机设置里关闭应用的消息通知,方法如下:1、找到手机设置,点击进入2、找到应用和通知,点击进入3、点击通知管理,点击进入4、我们可以看到自己开启消息通...

ghost下载中文版官网(ghost8.0下载)

如果你下载的ghostwin7文件如果是用于系统安装。是不是映像文件要符合以下要求:1,压缩包完好无损。2,减压后的映像文件后缀名为ISO或者GHO.3,文件要在硬盘根目录才便于识别。4,映像文件后缀...

win10最新版本是多少2025(win10最新版本是20h2吗)

1、打开软件,选择需要安装的win10系统。(4g以上内存选择64位系统)2、接着我们耐心等待下载重装资源。3、资源下载完成后,等待环境部署完毕重启即可。4、进入到pe系统后,打开小白工具,选择安装的...

取消回复欢迎 发表评论: