爬虫原理和网页构造

  • 爬虫原理
    • 网络连接:计算机一次Request请求和服务器端的Response回应,即实现了网络连接。
    • 爬虫原理:(1)模拟计算机对服务器发起的Request请求;(2)接收服务器端的Response内容并解析,提取所需的信息。有多页面爬虫和跨页面爬虫。
  • 网页构造:安装和使用和chrome浏览器;
  • 安装需要的第三方库:Requests,BeautifulSoup,Lxml;
    • Requests库:让HTTP服务人类;作用就是请求网站获取网页数据的;
      • 有时爬虫需要加入请求头来伪装成浏览器,以便更好地抓取数据;
      • 步骤:在chrome浏览器中打开开发者工具,点击network,按f5刷新网页,点击name里的任意文件,找到User-Agent进行复制;
    • BeautifulSoup库:用来解析Requests库请求的网页,并把网页源代码解析为Soup文档,以便过滤提取数据。
      • BeautifulSoup库除了支持python标准库中的HTML解析器外,还支持一些第三方的解析器;BeautifulSoup库解析器有:python标准库,lxml HTML解析器,Lxml XML解析器,html5lib解析器;
      • BeautifulSoup库在python标准库中的使用方法:BeautifulSoup(makeup,"html.parser")
      • BeautifulSoup库在lxml HTML解析器中的使用方法:BeautifulSoup(makeup,"lxml") (官方推荐,速度快,文档容错能力强)
      • 解析得到的Soup文档可以使用find()和find_all()方法及selector()方法定位需要的元素;
        • selector()方法:soup.selector(div.item > a >h1) 括号内容通过chrome复制得到;
        • 注意:li:nth-child(1)在python中运行会报错,需改为li:nth-of-type(1);
        • 打印数据时,若提取的信息包含标签,可以用get_text()方法获得中间的文字信息;
    • Lxml库:基于libxml2这一个XML解析库的python封装。该模块使用c语言编写,解析速度比BeautifulSoup库更快。

转载于:https://www.cnblogs.com/xiaowa/p/10386335.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
爬虫是一种自动化程序,通常用于从网页上提取信息或者抓取网页数据。Python是一种通用的编程语言,常常被用于开发爬虫程序。 爬虫程序的原理可以大致分为以下几个步骤: 1. 发起网络请求:爬虫程序首先通过发送HTTP请求与目标网站进行通信。Python中常用的库有Requests、urllib等,可以方便地发起GET或POST请求,获取网页的内容。 2. 解析网页内容:获得网页的内容后,爬虫程序需要对其进行解析。通常使用HTML解析库,如BeautifulSoup、lxml等,可以方便地提取HTML中的标签和内容。 3. 提取数据:爬虫程序根据目标数据的规则,使用XPath、CSS选择器或正则表达式等方式从网页中提取所需的数据。这些数据可以是文字、图片、视频等。 4. 存储数据:爬虫程序可以选择将提取的数据存储到本地文件或数据库中。常见的数据存储方式有CSV、JSON、MySQL等。 5. 爬取网页的深度控制:爬虫程序可以通过设置爬取深度,控制爬取的页面数量。可以使用队列或栈等数据结构实现爬取链接的管理,确保爬虫程序按照设定的规则进行网页遍历。 6. 反爬虫策略的应对:为了防止被网站屏蔽,爬虫程序应该考虑合理的访问频率,设置适当的User-Agent,避免被识别为机器人。有些网站可能会通过验证码、JavaScript动态加载等手段来阻止爬虫爬虫程序需要相应的策略进行应对。 总之,Python爬虫原理就是通过发起网络请求、解析网页内容、提取数据和存储数据等步骤,实现对特定网页的信息抓取和数据提取。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值