
爬虫
文章平均质量分 94
介绍爬虫的基本入门知识。
LaoYuanPython
优快云 2020年博客之星TOP3。博客主要关注音视频剪辑、数字图像处理、图形界面开发等Python相关知识!
另有高数、图像处理、OpenCV、Python以及架构类等电子书,如需要请扫描博客左下部二维码加微公号咨询。
展开
-
第十四章 web前端开发小白学爬虫
老猿从事IT开发快三十年了,接触互联网也很久了,但自己没有做过web前端开发,只知道与前端开发相关的一些基本概念,如B/S架构、html标签、js脚本、css样式、xml解析、cookies、http协议等,但并不熟悉这些概念的真正内容,可以说在web前端开发方面还是一个真正的小白。这导致老猿很有兴趣的投入爬虫学习后,发现网上别人的经验并不能完全适合自己的情况。基于这种情况,老猿恶补了一些相关的...原创 2019-09-06 20:09:45 · 1883 阅读 · 0 评论 -
Google Chrome浏览器的Cookies文件找不到问题
本文通过分析浏览器Cookies访问遇到的问题,确认了Google浏览器Chrome访问路径发生了变更,从`Google\Chrome\User Data\Default\`迁移到了`Google\Chrome\User Data\Default\network\`目录下。原创 2021-12-12 11:29:57 · 4206 阅读 · 2 评论 -
第14.4节 使用IE浏览器获取网站访问的http信息
上节《第14.3节 使用google浏览器获取网站访问的http信息》中介绍了使用Google浏览器怎么获取网站访问的http相关报文信息,本节介绍IE浏览器中怎么获取相关信息。以上节为基础,部分http相关知识在此不再介绍。步骤1:登录网站并打开准备获取信息的网页步骤2:在网页上按F12或选择对应内容后鼠标右键选择检查元素(如下图)打开开发者工具并点击下图左上角蓝色标记的“启用网络流量捕...原创 2019-09-07 18:38:49 · 2823 阅读 · 0 评论 -
第14.3节 使用google浏览器获取网站访问的http信息
为了简单处理,本次介绍的内容是基于网站已经登录的情况下去获取网页访问的http信息。首先需要使用谷歌浏览器登录指定网站,并访问需要爬取的网页,如老猿使用谷歌浏览器登录csdn,并访问老猿Python的主页:https://blog.youkuaiyun.com/LaoYuanPython。等网页内容呈现后,按F12键调出开发者工具,缺省情况下开发者工具会在当前网页右边的叠加窗口呈现,如图黄色标记区域:...原创 2019-09-07 18:34:08 · 2442 阅读 · 0 评论 -
Python+爬虫+xlwings发现优快云个人博客热门文章
☞ ░ 前往老猿Python博文目录 ░一、引言最近几天老猿博客的访问量出现了比较大的增长,从常规的1000-3000之间波动的范围一下子翻了将近一倍,粉丝增长从日均10-40人也增长了差不多一倍,下面是csdn提供的博文访问量数据图和粉丝增长数据图:突然增长的情况让人始料不及,老猿非常想弄清楚这些访问量和粉丝是什么文章带来的。但看了下不是最新发布博文,而以前的博文又不记得阅读量是否增长,如果要自己去翻非常麻烦,因为老猿博客文章有点多,自己写的加转发的有900多篇,因此想既然好歹学了爬虫,还是原创 2020-07-05 11:01:25 · 1141 阅读 · 0 评论 -
第14.2节 HTML知识简介
一、 HTML语言HTML 指的是超文本标记语言 (Hyper Text Markup Language),它不是一种编程语言,而是一种使用一套标记标签(markup tag)来标记元素作用的标记语言,标记语言使用标记标签来描述网页的内容。标记标签不会出现在页面中,只有标签中的内容才会显示在页面上。二、 HTML标签和HTML元素HTML 标记标签通常被称为 HTML 标签 (HTML ta...原创 2019-09-06 20:23:56 · 1313 阅读 · 0 评论 -
第14.12节 Python中使用BeautifulSoup解析http报文:使用select方法快速定位内容
一、 引言在《第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问》和《第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容》介绍了通过属性和查找方法定位HTML报文的内容的方法,除了这两种方法还有一种方法就是通过使用CSS选择器的语法找到tag,关于css选择器老猿在此不进行介绍,大家可以自行...原创 2019-09-13 16:46:16 · 1795 阅读 · 0 评论 -
第14.13节 BeautifulSoup的其他功能导览
前面《第14.9节 Python中使用urllib.request+BeautifulSoup获取url访问的基本信息》、《第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问》和《第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容》三个章节详细介绍了使用BeautifulSoup解析html...原创 2019-09-13 16:51:05 · 1135 阅读 · 0 评论 -
第14.14节 爬虫实战准备:csdn博文点赞过程http请求和响应信息分析
如果要对csdn博文点赞,首先要登录优快云,然后打开一篇需要点赞的文章,如《第14.1节 通过Python爬取网页的学习步骤》按《第14.3节 使用google浏览器获取网站访问的http信息》的方法在点赞文章页面通过F12调出开发者工具。此时回到打开博文页面对文章进行点赞,然后在开发者工具中去获取相关的http请求信息,可以看到内容如下:可以看到,点赞时浏览器向服务端发送了一个http的g...原创 2019-09-14 17:49:07 · 1046 阅读 · 0 评论 -
第14.15节 爬虫实战1:使用Python和selenium实现csdn博文点赞
在开始学爬虫时,学习了csdn博客专家(id:明天依旧可好 | 柯尊柏)《实战项目二:实现优快云自动点赞》的文章,文章介绍了通过Python和selenium模块实现csdn指定文章点赞的过程,老猿学习后,照葫芦画瓢自己实践了一番,发现文章介绍内容完全可行。在实践之后老猿认为有如下5个点如果能进一步完善会更好:文章中给定的《【谷歌驱动器下载】》在老猿所在的各种网络环境都无法打开,后来老猿通...原创 2019-09-15 10:29:34 · 1295 阅读 · 0 评论 -
第14.16节 爬虫实战2:赠人玫瑰,手留余香! request+BeautifulSoup实现csdn博文自动点赞
写在前面:本文仅供参考学习,请勿用作它途,禁止转载!在《第14.14节 爬虫实战准备:csdn博文点赞过程http请求和响应信息分析》老猿分析了csdn博文点赞处理的http请求和响应报文,在《第14.15节 爬虫实战1:使用Python和selenium实现csdn博文点赞》中通过selenium方式实现了博文自动点赞,但selenium方式老猿觉得并不是一个真正的爬虫实现方式,因此本节老猿将...原创 2019-09-16 16:02:13 · 1269 阅读 · 0 评论 -
第14.17节 爬虫实战3: request+BeautifulSoup实现自动获取本机上网公网地址
一、 引言一般情况下,没有特殊要求的客户,宽带服务提供商提供的上网服务,给客户家庭宽带分配的地址都是一个宽带服务提供商的内部服务地址,真正对外访问时通过NAT进行映射到一个公网地址,如果我们想确认自己的公网地址还不是很容易,但百度提供了一项服务,在百度查询时输入IP就可以查到浏览器所在本机的公网IP,利用该功能我们就可以查到本机公网IP,本节老猿就是要request+BeatifulSoap实现...原创 2019-09-17 09:20:15 · 1359 阅读 · 0 评论 -
第14.18节 爬虫实战4: request+BeautifulSoup+os实现利用公众服务Wi-Fi作为公网IP动态地址池
写在前面:本文相关方法为作者独创,仅供参考学习爬虫技术使用,请勿用作它途,禁止转载!一、 引言在爬虫爬取网页时,有时候希望不同的时候能以不同公网地址去爬取相关的内容,去网上购买地址资源池是大部分人员的选择。老猿所在的环境有电信运输商部署的对外开放的WiFi,由于涉及对外开放支持不同用户接入,其分配的地址经过NAT地址转换,但其公网地址一定是一个地址池,对于需要公网地址池资源的人员来说,这就是一...原创 2019-09-18 07:59:43 · 1035 阅读 · 0 评论 -
第14章 web前端开发小白学爬虫结束语
老猿学爬虫应该是2019年7月初开始的,到现在2个多月了,有段时间了,这部分一直是老猿期待能给大家带来收获的,因为老猿爬虫实战应用的场景与网上老猿已知的场景基本都不一样,是从复用网站登录会话信息来开发应用的。如果要从网站登录开始写应该也可以,但老猿没有去做这方面的工作,因为网上有很多这样的文章。老猿的这种场景有助于大家理解cookies以及http处理过程。另外,老猿站在一个互联网前端开发小白的...原创 2019-09-18 08:07:39 · 1159 阅读 · 2 评论 -
第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容
一、 引言在《第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问》介绍了BeautifulSoup对象的主要属性,通过这些属性可以访问标签、内容,但这种方法要么就只能访问符合条件的第一个对象,要么需要遍历访问对象,某些情况下不能通过指定特征快速定位标签和内容。本节将介绍使用BeautifulSoup提供的相关方法快速定位标签和内容的方法。本节...原创 2019-09-12 07:28:50 · 2138 阅读 · 0 评论 -
第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问
一、 引言在《第14.8节 Python中使用BeautifulSoup加载HTML报文》中介绍使用BeautifulSoup的安装、导入和创建对象的过程,本节介绍导入后利用BeautifulSoup对象访问相关标签数据。本节案例中介绍处理的c:\temp\s1.html文件内容如下:<!DOCTYPE html><html lang="zh-CN"><he...原创 2019-09-11 19:31:43 · 1481 阅读 · 1 评论 -
转:【Python3网络爬虫开发实战】6.4-分析Ajax爬取今日头条街拍美图
【摘要】 本节中,我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法。这次要抓取的目标是今日头条的街拍美图,抓取完成之后,将每组图片分文件夹下载到本地并保存下来。1. 准备工作在本节开始之前,请确保已经安装好requests库。如果没有安装,可以参考第1章。2. 抓取分析在抓取之前,首先...转载 2019-07-10 09:14:04 · 935 阅读 · 1 评论 -
转:HTTP协议简介与在python中的使用详解
1. 使用谷歌/火狐浏览器分析在Web应用中,服务器把网页传给浏览器,实际上就是把网页的HTML代码发送给浏览器,让浏览器显示出来。而浏览器和服务器之间的传输协议是HTTP,所以: HTML是一种用来定义网页的文本,会HTML,就可以编写网页; HTTP是在网络上传输HTML的协议,用于浏览器...转载 2019-07-10 09:18:24 · 1511 阅读 · 0 评论 -
转:【Python3网络爬虫开发实战】 requests基本用法
1. 准备工作在开始之前,请确保已经正确安装好了requests库。如果没有安装,可以参考1.2.1节安装。2. 实例引入urllib库中的urlopen()方法实际上是以GET方式请求网页,而requests中相应的方法就是get()方法,是不是感觉表达更明确一些?下面通过实例来看一下:import requestsr =...转载 2019-07-11 16:40:08 · 3010 阅读 · 0 评论 -
第14.1节 通过Python爬取网页的学习步骤
如果要从一个互联网前端开发的小白,学习爬虫开发,结合自己的经验老猿认为爬虫学习之路应该是这样的:一、 了解HTML语言及css知识这方面的知识请大家通过w3school 去学习,老猿对于html总结了部分基础知识内容,在《》进行介绍,其他的大家到w3school 去学习。二、 学习http协议相关的知识需要了解url的构成、http协议头的结构、http协议支持的get方法等内容。这方面...原创 2019-09-06 20:18:39 · 1384 阅读 · 0 评论 -
第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头
一、 引言在《第14.3节 使用google浏览器获取网站访问的http信息》和《第14.4节 使用IE浏览器获取网站访问的http信息》中介绍了使用Google浏览器和IE浏览器怎么获取网站访问的http相关报文信息,本节介绍利用获取的信息怎么在Python应用中构建http访问报文头。本节介绍的获取信息以Google浏览器获取的http信息为准,相当于应用访问网站是模拟谷歌浏览器进行访问,I...原创 2019-09-08 15:54:14 · 1660 阅读 · 0 评论 -
第14.6节 使用Python urllib.request模拟浏览器访问网页的实现代码
Python要访问一个网页并读取网页内容非常简单,在利用《第14.5节 利用浏览器获取的http信息构造Python网页访问的http请求头》的方法构建了请求http报文的请求头情况下,使用urllib包的request模块使得这项工作变得非常容易,具体语句如下:header = mkhead()req = urllib.request.Request(url=site,headers=hea...原创 2019-09-08 16:01:13 · 2674 阅读 · 0 评论 -
爬取网页内容后写入文件报错UnicodeEncodeError: 'gbk' codec can't encode的问题解决方案
老猿使用如下代码读取网页内容:req = urllib.request.Request(url=url,headers=header)text = urllib.request.urlopen(req).read().decode()fp = open(r’c:\temp\testhtml.txt’,‘a+’)fp.write(text)fp.close()执行时读取网页内容都没有问题...原创 2019-09-08 17:39:22 · 1804 阅读 · 0 评论 -
Python爬虫学习遇到的问题
老猿在学习Python中爬虫知识时遇到了如下问题:爬取网页内容后写入文件报错UnicodeEncodeError: ‘gbk’ codec can’t encode的问题解决方案原创 2019-09-08 17:41:24 · 1401 阅读 · 0 评论 -
第14.7节 Python模拟浏览器访问实现http报文体压缩传输
一、 引言在《第14.6节 Python模拟浏览器访问网页的实现代码》介绍了使用urllib包的request模块访问网页的方法。但上节特别说明http报文头Accept-Encoding最好不设置,否则服务端会根据该字段及服务端的情况采用对应方式压缩http报文体,如果爬虫应用没有解压支持会导致应用无法识别收到的响应报文体。本节简单介绍一下怎么处理响应报文体的压缩。在爬虫爬取网页时,如果在请...原创 2019-09-09 19:21:30 · 1329 阅读 · 0 评论 -
urllib.request.urlopen(req).read().decode解析http报文报“utf-8 codec can not decode”错处理
老猿前期执行如下代码时报“‘utf-8’ codec can’t decode byte”错,代码及错误信息如下:>>> import urllib.request>>> def mkhead(): header = {'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,im...原创 2019-09-09 19:25:30 · 6271 阅读 · 0 评论 -
第14.8节 Python中使用BeautifulSoup加载HTML报文
一、 引言BeautifulSoup是一个三方模块bs4中提供的进行HTML解析的类,可以认为是一个HTML解析工具箱,对HTML报文中的标签具有比较好的容错识别功能。阅读本节需要了解html相关的基础知识,如果这方面知识不足请参考《第14.2节 HTML知识简介》。二、 BeautifulSoup安装、导入和创建对象安装BeautifulSoup和lxmlBeautifulSoup...原创 2019-09-10 19:49:11 · 1803 阅读 · 0 评论 -
第14.9节 Python中使用urllib.request+BeautifulSoup获取url访问的基本信息
利用urllib.request读取url文档的内容并使用BeautifulSoup解析后,可以通过一些基本的BeautifulSoup对象输出html文档的基本信息。以博文《第14.6节 使用Python urllib.request模拟浏览器访问网页的实现代码》访问为例,读取和解析代码如下:>>> from bs4 import BeautifulSoup>>...原创 2019-09-10 19:51:54 · 1480 阅读 · 0 评论 -
转:【Python3网络爬虫开发实战】3.1.2-处理异常
【摘要】 前一节我们了解了请求的发送过程,但是在网络不好的情况下,如果出现了异常,该怎么办呢?这时如果不处理这些异常,程序很可能因报错而终止运行,所以异常处理还是十分有必要的。urllib的error模块定义了由request模块产生的异常。如果出现了问题,request模块便会抛出error模块中定义的异...转载 2019-07-10 09:11:14 · 886 阅读 · 0 评论