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

   日期:2020-07-15     浏览:118    评论:0    
核心提示:直接贴上代码,都有注释说明# -*- coding: utf-8 -*-# author:Gary# 第一步,导入需要用到的库import requestsfrom bs4 import BeautifulSoup# 第二步,请求网页内容url = https://gary666.com/ # 需要请求的网页的链接html = requests.get(url) # get方式请求数据# print(html.status_code) # 查看请求的状态码(200表示请求正常)_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个匹配到的超链接

# 第四步,存储数据

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服