走近Python爬虫(一):爬虫的作用和技术、获取网页内容、解析网页内容
admin 发布:2025-02-25 13:06 7
文章目录
本文是Python爬虫系列博客的第一篇,内容概览如下:
一、绪论 爬虫的作用
爬虫可用于收集数据,是最常用的使用方法。由于爬虫是程序,运行速度快且不会疲劳,因此使用爬虫获取大量数据变得简单快捷。现在绝大多数网站都基于模板开发,使用模板可快速生成相同版式、不同内容的页面。因此,只需针对一个页面开发爬虫,即可爬取基于同一模板生成的不同页面。这种爬虫称为定向爬虫,也是本博客所讲述的爬虫类型。
尽职调查是投资人在投资前了解公司是否尽职尽责、是否存在欺诈行为的过程。以往,尽职调查通常通过调查客户或审计财务报表来完成。然而,使用爬虫后,尽职调查变得更加便捷。例如,对于一个电商公司的调查,想要了解其商品销售情况。该公司声称每月销售额数亿元。通过使用爬虫获取该公司网站所有商品的销量情况,可以计算出实际总销售额。此外,还可以爬取所有评论并进行分析,以发现是否存在刷单行为。
刷流量是爬虫的天然功能。当爬虫访问网站时,如果成功隐藏身份,网站无法辨别其为爬虫,将视为正常访问。因此,爬虫会无意中增加网站的访问量。除了刷流量,爬虫还可参与各种秒杀活动,如在电商网站上抢购商品、优惠券、机票和火车票等。目前,许多人专门利用爬虫参与活动并从中获利,这被称为”薅羊毛”,而从事此类行为的人被称为”羊毛党”。然而,使用爬虫进行盈利的行为实际上处于法律的灰色地带。
爬虫的技术
遇到各种反爬虫问题时,应该如何突破,如何隐藏爬虫,如何模拟人的行为,以及遇到没有见过的反爬虫策略时,应该如何思考及如何使用爬虫爬取非网页内容等。
获取网页内容并解析。只要能达到这个目的,用什么方法都没有问题。关于获取网页,常用的是Python的两个第三方模块,一个是requests,另一个是爬虫框架Scrapy。关于解析网页内容,常见的3种方式——正则表达式、XPath和BeautifulSoup。两种网页获取方式和3种网页解析方式可以自由搭配,随意使用。
由于网站必然不会这么轻易地让人把数据全给拿走,因此很多网站都会采取各种反爬虫措施。常规的反爬虫措施包括但不限于访问频率检查、验证码、登录验证、行为检测。
二、获取网页—requests模块
requests是Python的一个第三方HTTP(Hypertext Transfer Protocol,超文本传输协议)库,它比Python自带的网络库urllib更加简单、方便和人性化。使用requests可以让Python实现访问网页并获取源代码的功能。
首先,命令行安装requests模块:
pip install request
1.requests模块简单使用
import requests
html_str = requests.get(’网址’).content.decode(‘编码方式’) # 编码方式默认是UTF-8
data对象表示查询参数:
import requests
data = {'key1': 'value1',
'key2': 'value2'}
html_formdata = requests.post(’网址’, data=data).content.decode()
#用formdata提交数据
html_json = requests.post(’网址’, json=data).content.decode() #使用JSON提交数据
2.使用多线程
单线程爬虫每次只访问一个页面,不能充分利用计算机的网络带宽。一个页面最多也就几百KB,所以爬虫在爬取一个页面的时候,多出来的网速和从发起请求到得到源代码中间的时间都被浪费了。所以,要使用多线程。
from multiprocessing.dummy import Pool
def calc_power2(num):
return num * num
pool = Pool(3)
origin_num = [x for x in range(10)]
result = pool.map(calc_power2, origin_num)
print(f’计算0-9的平方分别为:{result}')
三、解析网页 1.XPath
需要先安装lxml,不同操作系统安装方式不同,请自行百度。
import lxml html
selector = lxml.fromstring(’网页源代码’)
info = selector.xpath(’一段XPath语句’)
查找技巧:从内向外一直找到一个有独特的属性值的元素为止,不是非要找到顶层。
Chrome浏览器可以在页面源码上定位到元素后,右键“Copy”→“Copy XPath”。
//div[@class="useful"]/ul/li/text()
参考
《Python爬虫开发:从入门到实战(微课版)》谢乾坤
- 上一篇: QQ空间黄钻加速卡怎么使用
- 下一篇: >qq空间黄钻7级多少成长值1天
推荐应用
相关推荐
- 02-26运营与技术双管齐下,揭秘营销黑灰产对抗的台前幕后
- 02-26在境外怎么看搜狐视频会员账号:突破版权屏障的加速器和VPN技术
- 02-26QQ黄钻成长值每天什么时间更新 真英雄向前跑活动怎么绑定qq
- 02-25“薅羊毛”现象解析:从网络用语到消费心理的多维度探讨
- 02-25怎么开通腾讯视频会员
- 02-25小绵羊2020年终大促正在进行中,这些被抢疯的了的单品,你买到了吗?
- 02-25QQ空间黄钻加速卡怎么使用
- 02-25最新亲测!支付宝、工行、邮储、光大优惠活动大盘点
- 02-25>qq空间黄钻7级多少成长值1天
- 02-25走近Python爬虫(一):爬虫的作用和技术、获取网页内容、解析网页内容
热门下载
-
1
2022百度网盘安卓版突破限速
类别:手机软件
-
2
免费领QQ超级会员助手
类别:QQ软件
-
3
亲测可用的微信视频号下载器,内含详细教程
类别:电脑软件
-
4
视频字幕提取器怎么用?2023最新字幕提取工具 Video subtitle extractor 2.0.0
类别:电脑软件
-
5
抖音视频自动评论助手——养号必备
类别:手机软件
-
6
酒店微型摄像头检测器-安卓版
类别:手机软件
-
7
和平精英捏脸助手v2.0
类别:QQ软件
-
8
抖音无水印解析批量下载pc版
类别:电脑软件
-
9
QQ动态个性名片—安卓版
类别:QQ软件
-
10
2022最新版qq透明头像生成软件
类别:QQ软件
-
11
全网短视频无水印下载工具 支持tiktok
类别:电脑软件
-
12
安卓魔音变声器青春版v2.1.3
类别:手机软件