python爬虫(requests+bs4的基本使用)

直接贴上代码,都有注释说明

# -*- coding: utf-8 -*-
# author:Gary
# 第一步,导入需要用到的库
import requests
from bs4 import BeautifulSoup

# 第二步,请求网页内容
url = 'https://gary666.com/'  # 需要请求的网页的链接
html = requests.get(url)  # get方式请求数据
# print(html.status_code)  # 查看请求的状态码(200表示请求正常)
html.encoding = html.apparent_encoding  # 设置编码,防止由于编码问题导致文字错乱
# print(html.text)  # 查看请求到的内容
content = html.text

# 第三步,解析你需要的内容
soup = BeautifulSoup(content, "lxml")
# 1 按标签名查找标签
# soup.标签名 # 获取第一个匹配到的标签
print('获取第一个匹配到的超链接', soup.a)  # 获取第一个匹配到的超链接

# 2 属性
# soup.标签名.attrs # 获取标签中所有属性名与对应属性值的字典
print('获取超链接中所有属性名与对应属性值的字典', soup.a.attrs)  # 获取超链接中所有属性名与对应属性值的字典
# soup.标签名.attrs["属性名"]获取属性名对应的属性值
print('获取超链接href属性对应的属性值', soup.a.attrs["href"])  # 获取超链接href属性对应的属性值
# soup.标签名["属性名"]获取属性名对应的属性值的简写
print('获取超链接href属性对应的属性值的简写', soup.a["href"])  # 获取超链接href属性对应的属性值的简写
# soup.标签名.string  # 获取第一个匹配到的标签的内容
print('获取第一个匹配到的超链接的内容', soup.a.string)  # 获取第一个匹配到的超链接的内容
# soup.标签名.text  # 获取第一个匹配到的标签以及其所包含的子标签的所有内容
print('获取第一个匹配到的超链接以及其所包含的子标签的所有内容', soup.a.text)  # 获取第一个匹配到的超链接以及其所包含的子标签的所有内容

# 3 函数
# soup.标签名.get_text()  # 同soup.标签名.text
print(soup.a.get_text())  # 同soup.a.text
# soup.find("标签名") # 同soup.标签名
print(soup.find("a"))  # 同soup.a
print(soup.find("a", href="/detail?dbname=life&num=35"))  # 根据属性值定位到第一个匹配到的标签
# 注意: 若属性名是 class 则需要在后面加个下划线,写成 class_
# soup.find_all("标签名") # 获取匹配到的所有标签, 返回一个列表
a_list = soup.find_all("a")  # 获取所有的超链接
for a in a_list:  # 循环查看每个超链接的文字和url
    if a.string is None:  # 如果超链接的内容为空
        continue
    else:
        print(a.string + ":" + a.get("href"))
# soup.find_all(["标签1", "标签2"])   可以获取多种类的标签,通过列表指定获取的多个标签
soup.find_all(["a", "div"])  # 可以获取多种类的标签,通过列表指定获取的多个标签
# soup.find_all("标签名", limit=int(n))  # limit参数指定获取个数,为整数
print(soup.find_all("a", limit=2))  # 获取前2个匹配到的超链接

# 第四步,存储数据

猜你喜欢

转载自blog.csdn.net/weixin_44388092/article/details/107297083