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

news/2024/7/19 9:32:23 标签: python, 爬虫, 开发工具

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

基本任务:

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

想学习可以加Python学习(q-u-n )-二二七,四三五,四五零 即可获取,内附:开发工具和安装包,以及视频资料系统学习路线图

转载于:https://my.oschina.net/u/3611008/blog/2239863


http://www.niftyadmin.cn/n/960070.html

相关文章

就刚才上传的资源的解释

该代码编写过程中主要有3个雷: 1.输入数据的类型开头已经被dtypefloat.32确定了,要看数据集符不符合标准 2.使用新数据集要注意x的维度 3.使用pytorch的dataset,dataloader要注意其与win系统不兼容的问题,训练循环要在一个if语句里&#xff0…

java如何引发异常_关于Java:在这段代码中,异常如何引发?

有些第三方代码如下所示。假设有两个类,即classA和classB,它们的定义正确并且可以按预期工作。// this function does not have a *throws Exception* in its definitionpublic Collection doSomething(String someStr) {List ClassAList new ArrayList…

关于卷积的最新学习

首先是卷积的运算,还是老样子: 输入图像一般是由三个通道的,所以这就需要三个kernel,这三个并成为一个卷积核。 卷积核的大小指的是kernel的大小(3*3) 如果想要有多个通道的结果,就要多准备一些…

FloatingWindow 悬浮窗开源项目总结

在Android开发中,我们不免会遇到悬浮窗展示的需求,以下是本人之前star的悬浮窗的开源项目,供大家参考: 一、FloatingWindowDemo 开源项目地址:https://github.com/renhui/FloatingWindowDemo 通过 Service WindowMana…

java spring di_Spring依赖注入(DI)

Setter方法注入构造器注入1. Setter方法注入这是最流行最简单的DI注入方法,通过设置方法注入依赖。示例帮助器类和指定的setter方法package com.yiibai.output;import com.yiibai.output.IOutputGenerator;public class OutputHelper{IOutputGenerator outputGenera…

MySQL之视图、触发器、存储过程、函数、事务、数据库锁

一、视图 视图:是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。 视图的特点:   1.视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系;   2.视图是由…

“#”在python中的作用不全是注释

警号出现在文件前两行是标识给解释器用的,解释器会读取这个设置。 后面的行里使用警号,才是注释,#后的内容不会被执行。 如常见的:“# -*- coding: utf-8 -*-”

java 数据透视表 组件_Java 创建 Excel 数据透视表

Excel 数据透视表具有强大的数据处理功能,能够使表格中的数据更加直观化。使用Excel 数据透视表,能方便用户快速的排序、 筛选各种数据,同时也能满足用户对不同数据汇总的需求。本文将介绍如何在Java应用程序中创建Excel数据透视表及设置透视…