Python爬虫学习篇(1)

什么是爬虫

网络爬虫,是按照一定逻辑或者规则,自动去抓取互联网上的程序

浏览网页的基本流程

我们在浏览器地址栏里面输入一个地址,敲击回车后,浏览器会通过DNS查找到对应的IP地址,然后向IP地址对应的服务器发送请求,随后服务器会响应请求并且发送html页面,最后浏览器会解析发送过来的html页面展示出来,也就是我们看到的网页了

这里有两个重要概念,分别为 ‘请求’和 ‘响应
请求(request):
请求是客户端发送给服务器的,
请求分为四部分:请求方法,请求的地址,请求头和请求体
了解详情点击此处
响应(response):
响应是服务器发送给客户端的,
响应分为三部分:状态码,响应头,响应体
了解详情点击此处

准备工作

本文使用requests模块
安装方法 :pip install requests 或者点击此处下载
数据获取方式
我们这里演示xpath解析方式用于解析html提取数据
pip install lxml

实例

本文拿百度首页进行演示
链接:https://www.baidu.com/
在这里插入图片描述
抓取按钮中的 " 百度一下" 四个字

导入模块
在这里插入图片描述

在这里插入图片描述
response就是返回的服务器响应
在这里插入图片描述
在这里插入图片描述

请求的一些方法 最常用的其实就只有 getpost 两种方法:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
因为id是唯一的 所以我们可以直接xpath定位到id=‘su’的结点直接提取value
具体xpath解析语法请参照 xpath解析语法
在这里插入图片描述
在这里插入图片描述

完整代码

import requests
from lxml import etree

# 定制请求头
# 请求头,用来说明服务器使用的附加信息
headers = {
    'Referer': 'https://www.baidu.com/',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3641.400 QQBrowser/10.4.3284.400'
}
# 对https://www.baidu.com/发起get请求
response = requests.get('https://www.baidu.com/', headers=headers)
response.encoding = 'utf-8'
# 获取源码
sourceCode = response.text
# etree.HTML():构造了一个XPath解析对象并对HTML文本进行自动修正
tree = etree.HTML(sourceCode)
# XPath 使用路径表达式来选取 XML 文档中的节点或节点集
# 提取input框中的value属性 也就是 '百度一下' 四个字
submitText = tree.xpath("//input[@id='su']/@value")
print(submitText)

那么第一篇博客就这样结束了,希望可以对你们有帮助,感谢阅读

PS:pycharm背景图片
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值