年轻人的第一个爬虫

网络爬虫调研报告 抓取并存储相关的内容。) , 它们实现的原理基本一致: 深度遍历网站的资源, 将这些资源抓取到本地, 使用的方法都是分析网站每一个有效的。) , 它们实现的原理基本一致: 深度遍历网站的资源, 将这些资源抓取到本地, 使用的方法都是分析网站每一个有效的。调用的页面、 需要注册才能访问的页面等, 对于这些网络的爬取被归结为深层网络的挖掘。调用的页面、 需要注册才能访问的页面等, 对于这些网络的爬取被归结为深层网络的挖掘。的方式获取到的资源全部抓取到本地, 包括网页和各种类型的文件, 如: 图片、 阅读详情

学了python一个多月了,也该自己动动手写个爬虫了

目标网址:

http://enrz.com/fhm/2017/12/27/99997.html

目标内容:某一女郎的图片

原理:

1.保存网页源代码

  1. 笨办法,人工复制源代码到txt文件,再用open方法打开
  2. 用requests.get

2.正则表达式匹配图片网址

3.下载图片

搞懂原理后,进入实际操作:

  • 获取网页源码我选的是笨办法,进入目标网址右击选择查看网页源码,复制网页源码,然后在pycharm工程里面新建一个txt文件,将源码放进去。
  • 寻找到我们的目标,因为我们要下载的是某一个女郎的图片,所以进入F12或者右击网页点击审查元素进入开发者模式通过查找定位功能找到图片对应的网址

  • 书写正则表达式

<img class=" size-full wp-image-99998 aligncenter" src="http://images.enrz.com/wp-content/uploads/2017/11/webwxgetmsgimg-2.jpg" alt="webwxgetmsgimg (2)" width="3731" height="4707">

我们要提取的是src跟alt中间的部分,所以正则表达式为

'src="(.*?)" alt='
  • 开始下载
  • 结果

  • 以下为源码
# coding=utf-8
import re
import requests

#读取网页源码
f = open('source.txt', 'r',encoding='UTF-8')
html = f.read()
f.close()


#match url of pictures
pic_url = re.findall('src="(.*?)" alt=',html,re.S)
i = 0
for each in pic_url:
    print('now downloading'+each)
    pic = requests.get(each)
    fp = open('pic\\'+str(i)+'.jpg','wb')
    fp.write(pic.content)
    fp.close()
    i += 1

在做这个爬虫过程中遇到的一些问题:

  1. pycharm中import requests报错

检查发现已经安装了requests包,运行环境也正常,后来发现是interpreter没有正确配置,经配置后可以正常导入requests包

    2.在运行到f.read()时出现错误:UnicodeDecodeError: 'gbk' codec can't decode byte 0xb7 in position 219: illegal multibyte sequence

发现是文件读取出现编码格式出错,尝试了用‘rb’打开,但是又跳出了另外的错误,所以感觉不对,又尝试在‘r’后加上了encoding=‘UTF-8’最后无错误,以上尝试来自百度。

     3.编码格式错误解决后发现程序没有结果

通过调试在i=0处设置断点进行debug,发现pic_url为空,所以应该是正则表达式出了错误,经反复检查后终于修改正确,最后爬取图片成功

年轻人的第一个爬虫总算是完成了,期间遇到了种种问题也是通过仔细思考以及百度解决了,虽然是一个非常非常简单的爬虫,但是也让我收获了意想不到的结果,简单的爬虫制作完,以后还会慢慢进阶。

网络爬虫调研     上学期为师姐做的网络爬虫方面的调研。 网络爬虫调研报告基本原理Spider概述 Spider即网络爬虫 ,其定义有广义和狭义之分。狭义上指遵循标准的 http协议利用超链接和 Web文档检索的方法遍历万维网信息空间的软件程序 ;而广义的定义则是所有能遵循 http协议检索 Web文档的软件都称之为网络爬虫。 Spider是一个功能很强的自动提取网页的程序 ,它为搜索 阅读详情

相关推荐

一起学爬虫(Python) — 19 年轻人,进来学自动化

前言 Hello,大家好,今天是早起的小泽! 早上10点相信对大家来说都还没有起来吧,当然有工作的除外,要上学的除外,相信还是有很多可以天天在家里待着的富婆鸭,会来这里偷偷地学习。 那么今天咱们是要搞什么呢? 相信通过标题你也是知道了,自动化! 那么话不多说,直接带大家起飞,好好学,好好问,你也可以成为大神! 什么是自动化 今天我们说到的自动化,不是你们可能听过很多的无人驾驶,机器人鸭什么的,就是没有那么高级哈。 这个自动化呢,在python里面用一个模块来实现:selenium 如果缺少这个东西呢

小泽 8074

制作爬虫文本

#encoding=utf-8 import re import requests #读取源代码文件 f = open('source.txt','r') html = f.read() f.close() #匹配图片网址 pic_url = re.findall('img src="(.*?)" class="lessonimg"',html,re.S) i = 0 for each in...

hhyiyuanyu的博客 236

一文搞懂各大APP!网站python网络爬虫!

1)爬取汽车之家数据,利用论坛发言的抓取以及NLP,对各种车型的车主做画像。 2 ) 抓取各大电商的评论及销量数据,对各种商品(颗粒度可到款式)沿时间序列的销量以及用户的消费场景进行分析。 Python资源共享群:626017123 3)还可以根据用户评价做情感分析,实时监控产品在消费者心目中的形象,对新发布的产品及时监控,以便调整策略。 4 ) 抓取房产买卖及租售信息,对热热闹闹的房价问...

Pythoncxy的博客 1882

noob的python学习之路

学了c之后再学python发现确实很多方面有点方便 写了两篇小代码 首先是简单的美元人名币转换 代码 while 1: print("今日美元汇率为 1:6.7713") usd = float(input("请输入美元数额(USD)")) print("对应人名币(CNY)数额为:", usd * 6.7713, " 元:") 还有一个解一元二次方程的代码(也可以解虚数解) import math def solve(a, b, c): delta = b**2 - 4

Sankkl1的博客 529

rfid标签技术原理

奇怪的是,RFID标签技术原理的深入剖析不仅揭示了其背后的奥秘,也让我们更加全面地认识到这一技术在数字化转型中的重要性和潜力。随着技术的不断进步和应用场景的不断拓展,RFID标签将在更多领域发挥重要作用,为物联网、智能制造等领域的发展注入新的活力。这意味着在一个读写器的覆盖范围内,可以同时读取多个RFID标签的数据,大大提高了数据收集的速度和效率。:RFID标签的“大脑”,负责存储和处理数据。芯片内部集成了存储器、控制逻辑和射频接口等电路,能够接收来自读写器的射频信号,执行相应的数据处理和通信任务。

x3088的博客 2159

大模型时代的具身智能系列专题(二)

自由形式语言指令 L 指定了一个操作问题,例如“打开最顶部的抽屉”。然而,根据 L 生成机器人轨迹是很困难的,因为 L 可能具有任意长度,或者是不明确的(例如,需要上下文语义)。相反,我们专注于问题的各个阶段(子任务)l_i,它们明确地指定了一个操作任务 (例如,“抓住抽屉把手”,“打开抽屉”),其中被分解的子阶段(子任务)L→l1l2lnL→l1​l2​...ln​由高级规划器(例如,一个LLM或一个基于搜索的规划器)给出。

achao的专栏 2172

【python爬虫基础】年轻人的第一个爬虫程序

【python爬虫基础】年轻人的第一个爬虫程序,爬取豆瓣读书的top250书籍及对应连接。

Yui_的博客 5509

Shell编程规范及变量

文章目录一.Shell脚本1.1Shell概述1.2Shell脚本 一.Shell脚本 1.1Shell概述 Shell是Linux系统中开机自动加载的一个特殊程序,它将用户输入的指令,转换成Linux内核可以识别的语言,从而让内核执行调用硬件。 Bash是Linux系统中默认使用shell的程序,它位于/bin/bash。 1.2Shell脚本 将需要执行的命令保存到一个文件中,按照顺序执行,它不需要编译,它是解释型的 ...

夏颜的博客 3676

几种开源网络爬虫的简单比较

爬虫里面做的最好的肯定是google ,不过google公布的蜘蛛是很早的一个版本,下面是几种开源的网络爬虫的简单对比表: 还有其他的一些比如Ubicrawler、FAST Crawler、天网蜘蛛等等没有添加进来。 之后主要研究下larbin爬虫,如果有可能会给它添加一个删除功能,因为其排重部分用的是bloom filter算法,这个算法的有点很明显,对大规模数据的处理很快,

C时刻 4821

卷积码和Turbo码

通信原理相关博文目录:目录我们常在移动通信中遇到的卷积码就是一种非分组码,卷积码和信号处理中的卷积运算有关系吗?是不是就是信号处理中的卷积运算,先看看编码器的编码原理再说:下面是一个比较实用的卷积码编码器:它有三个移位寄存器D0,D1,D2和三个模2加法器,以及一个旋转开关组成,编码前,先将各级移位寄存器清零:现在假设输入的信息码元是1101:当输入的第一个码元为1时,三个模2加法器计算的结果都为...

Reborn Lee 2万+

华为昇腾310P3+deepseek蒸馏版性能调优:FP16精度优化全记录

本文详细介绍了在华为昇腾310P3硬件环境下优化DeepSeek蒸馏版模型FP16精度的关键技术路径。通过分层量化策略、内存分配优化和并行计算配置,显著提升模型推理性能,实现83%的并发处理能力提升,同时保持98.7%的原始模型准确率。

weixin_29074409的博客 349

开源网络爬虫介绍及其比较

<br />Nutch 开发语言:Java http://lucene.apache.org/nutch/<br />简介: Apache的子项目之一,属于Lucene项目下的子项目。 <br /><br />Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的分布式处理模型保证了系统的性能,类似Eclipse的插件机制保证了系统的可客户化,而且很容易集成到自己的应用之中。 <br /><br /><br />Larbin 开发语言:C++ http://larb

滴水穿石,厚积薄发 1万+

关于卷积过程中通道数如何变化问题

对卷积操作前后通道数问题进行解释,输出通道数=卷积核的个数。

你好,明天,,的博客 4316

页面数据采集——网络爬虫实战(ASP.NET Web 博客园为例)

年轻人不讲武德 相信很多朋友都有这种苦恼:自己的文章被搬运了! 你上午在博客园、优快云、知乎、简书等平台发布的文章,下午去百度搜索出来一大堆一模一样的内容出来 有武德的给你【标明出处】(标明文章来自哪儿,附上链接),没武德的不仅没标明出处,他还自己表示为原创(内心一万头草泥马在奔腾~)。 文章搬运我个人是欢迎的,但是需要注明出处。对于这种情况很难说,褒贬不一,个人看法不同, 对于我来说,肯定是想要更多人看到我的文章啦(内心窃喜~)。 比如下图左边第一个是我2019年2月份发布的一篇文章到现在为止搬运次数超

熊泽-学习中的苦与乐 1344

k8s中pod使用详解

k8s中Pod使用

congge 1万+

chembl_webresource_client 包数据接口下载chembl数据库;ZINC数据库下载、simles获取

点击进去https://zinc.docking.org/subclasses/kinase/predictions/,然后下载sdf模式,这里可以转化simles格式,如果下载csv里面没有包含simles。参考:https://github.com/chembl/chembl_webresource_client/blob/master/demo_wrc.ipynb。参考:https://zinc.docking.org/这是网页搜索查看,16条数据。这个数据这下载特别慢。

weixin_42357472的博客 3051

Python网络爬虫半小时入门指南

文章目录Python 爬虫入门指南网络爬虫前置知识年轻人的第一个爬虫程序Requests库安装Requests库核心方法介绍Response对象response.textresponse.status_coderesponse.encodingresponse.contentresponse.json() Python 爬虫入门指南 网络爬虫 网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。 通常,爬虫程序由三部分组成,获得网页、解析网页和存储数据。 前置知识 大概科普级别就

努力推石头的西西弗斯 1051

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

开源的网络爬虫larbin

larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。Larbin只是一个爬虫,也就 是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。一个简单的larbin的爬虫可以每天获取...

转移到 github 233

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ajax数据放入div粥_页面数据采集——网络爬虫实战(ASP.NET Web 博客园为例)

目录年轻人不讲武德释语 什么是数据采集?什么是网络爬虫?网络爬虫的分类爬虫步骤实例操作(采集博客园文章:指定链接采集)实例操作(采集博客园文章:批量采集)代码展示源码下载写在后面年轻人不讲武德相信很多朋友都有这种苦恼:自己的文章被搬运了!  你上午在博客园、优快云、知乎、简书等平台发布的文章,下午去百度搜索出来一大堆一模一样的内容出来有武德的给你【标明出处】(标明文章来自哪儿,附上链...

weixin_35284593的博客 197

未来可能的转向---网络爬虫

网络爬虫调研报告 基本原理 Spider概述 Spider即网络爬虫 ,其定义有广义和狭义之分。狭义上指遵循标准的 http协议利用超链接和 Web文档检索的方法遍历万维网信息空间的软件程序 ;而广义的定义则是所有能遵循 http协议检索 Web文档的软件都称之为网络爬虫。 Spider是一个功能很强的自动提取网页的程序 ,它为搜索引擎从万维网上下载网页 ,是搜索引擎的重要组成 .它

numbibi的专栏 3583

当代年轻人拼命搞钱如何实现财富自由?python赚钱一定榜上有名

如果你问现在的年轻人最想做的事情是什么,赚钱一定榜上有名!现在的年轻人,为了赚钱,白天辛辛苦苦打工,晚上回家还不忘研究股票基金走线,拼命赚钱的背后是大家都想实现“花钱自由”!但是你以为年轻人就是为了买买买才努力赚钱的吗?No No No,据央视调查,2022年消费预期中,!其中教育培训中,年轻人又都是为了赚钱才选择的各种培训,比如提升学历、学习职业技能等。从年轻人的消费行为中可以看出,现在年轻人其实比父辈更具有忧患意识,大家都在尽可能地给自己更多的安全感。

lyy2017175913的博客 138

关于开源的网络爬虫/网络蜘蛛larbin结构分析

larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎提供广泛的数据来源。Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。一个简单的larbin的爬虫可以每天获取5...

weixin_30662539的博客 183
下一篇: 爬虫的一些基本知识(1)
codeMore++
博客等级 码龄9年 6粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值