简单的爬虫知识及应用

目录

基本知识

 1.URL

 2.HTTP协议

 3.请求和相应

4.状态码

 实现简单的爬虫技术

1.安装requests模块

 2.请求网页内容

3.获取状态码 

4.获取网页内容

 5.安装bs4,lxml模块

6.导入BeautifulSoup并使用

7.内容定位

8.查询符合条件的节点

9.获取标签内容

10.应用


基本知识

 1.URL

URL全称为Uniform Resource Locator,即统一资源定位符,指定了我们要查找资源的地址。

组成:http(https)://主机名/文件路径/

 2.HTTP协议

HyperText Transfer Protocol,简称http,超文本传输协议。
HTTP协议是互联网数据传输的一种规则,它规定了数据的传输方式。

HTTPS:HyperText Transfer Protocol Secure,超文本传输安全协议。

 3.请求和相应

 浏览器对服务器进行操作请求,服务器进行响应并且返回信息,浏览器接收到响应信息解析成网页展示出来

4.状态码

告知客户端的请求结果

1xx:告知请求的处理进度和情况

2xx:成功

3xx:表示需要进一步操作

4xx:客户端错误

5xx:服务器错误

 实现简单的爬虫技术

1.安装requests模块

在终端中输入pip install requests

pip install requests -i https://pypi.mirrors.ustc.edu.cn/simple/
 2.请求网页内容
import requests
url = ""    # 找要的网站
response = requests.get(url)    # 请求服务器并且获得响应消息
print(response)
3.获取状态码 
import requests
url = ""
response = requests.get(url)
statusCode = response.status_code
print(statusCode)

也可以通过手动查看方法 

右键——检查——刷新网页——找到Network——在下方name中滑至最上方——点击——点击Headers——找到Status Code

4.获取网页内容
import requests
url = ""
response = requests.get(url)
content = response.text
print(content)

可以得到HTML语言

全称为HyperText Markup Language,超文本标记语言,它用来定义网页内容和结构。

 5.安装bs4,lxml模块
pip install bs4 -i https://mirrors.aliyun.com/pypi/simple/ 
pip install lxml -i https://mirrors.aliyun.com/pypi/simple/ 
6.导入BeautifulSoup并使用
import requests
from bs4 import BeautifulSoup

url = ""
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, "lxml")
print(soup)

BeautifulSoup() 函数可以把不标准的 HTML 代码重新进行了自动更正,从而方便我们对其中的节点、标签、属性等进行操作。

BeautifulSoup(a, "b"):a:是需要解析的 HTML 文本。b:是解析器的类型。

最后一步得出来是规范过后的html语言

7.内容定位

定位你要的文字资源:

右键——检查——刷新网页——左上角有——点击需要的文字资源——找到在html语言中所在的节点中(<h> <p> <em>)

8.查询符合条件的节点

找到文字所在的节点中,通过find_all获取节点。

import requests
from bs4 import BeautifulSoup

url = ""
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, "lxml")
JD = soup.find_all(name="")
print(JD)

得到的是一个列表

9.获取标签内容

我们可以调用 .string 属性 ,用来获取节点中的内容。

import requests
from bs4 import BeautifulSoup

url = ""
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, "lxml")
content_all = soup.find_all(name="")
for content in content_all:
    contentString = content.string
    print(contentString)

即可得到节点中的文字内容 

注意:

.string 属性只能提取单个节点或节点统一的内容。
在某些节点中可能又包含了子节点,此时会返回None值

为了获取全部文字内容我们进行修改

将.string改为.text

import requests
from bs4 import BeautifulSoup

url = ""
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, "lxml")
content_all = soup.find_all(name="")
for content in content_all:
    contentString = content.text
    print(contentString)
10.应用
import requests
from bs4 import BeautifulSoup

url = ""    # 输入网址
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, "lxml")
content_all = soup.find_all(name="")    # 找对应节点

for content in content_all:
    contentString = content.text
    print(contentString)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值