本站使用了 Pjax 等基于 JavaScript 的开发技术,但您的浏览器已禁用 JavaScript,请开启 JavaScript 以保证网站正常显示!

Python爬虫学习(1) _ 初窥门径

学习记录

课程来自:风变编程

使用requests和bs4模块实现网站内容的下载:

  1. 使用requests模块中的get方法,获取返回信息(response)
  2. 使用bs4模块中的BeautifulSoup方法对返回的信息(response)进行解析,解析器使用的是内置的'html.parser'
  3. 通过BeautifulSoup的find方法对解析后的内容进行匹配(class_='books')查询
  4. 获取的内容返回list=[div1,div2,div3]列表,通过for循环遍历,遍历的结果为bs4.element.Tag对象
    # 备忘:

    • find_all获取的结果为list,数据类型为bs4.element.ResultSet
    • find 获取的结果为单个标签,数据类型为bs4.element.Tag
  5. 使用find方法获取list列表中的每个标签
  6. 使用.text方法获取Tag中的文字,使用['属性']获取Tag的属性
    # 举例:

    • Tag.text 获取标签文本
    • Tag.['href'] 获取链接

整体流程

requests获取 → .text转成文本 → bs4.bs解析 → bs4.bs.find获取

代码示例

# 第一步:引入所需的模块及方法
import requests   
    # 引入requests模块,也可以直接使用from requests import get
from bs4 import BeautifulSoup 
    # 引入bs4模块中的BeautifulSoup方法

# 第二步:获取网站的源码
res = requests.get('https://localprod.pandateacher.com/python-manuscript/crawler-html/spider-men5.0.html')  
    #使用requests的get方法获取返回信息
html_txt = res.text 
    #取返回信息的文本(字符串形式)赋值给html_txt

# 第三步:使用BeautifulSoup方法解析
html_txt_div=BeautifulSoup(html_txt,'html.parser') 
    #使用python内置的方法html.parser对获取到的html文本内容进行解析,并赋值给html_txt_div.
    #通过html.parser解析,相当于对html_txt文本进行了结构化的操作,然后才能使用BeautifulSoup的find方法对内容进行定位操作

# 第四步:使用find方法对html_txt_div的内容进行提取
item=html_txt_div.find_all(class_='books')
    # 通过对html中的class元素进行定位,将提取的内容赋值给item
    # 获取的结果可以视作list
    # 注意:
        - 此处class必须加_,否则会与python的关键字产生冲突;
        - 同时可以使用多个元素对内容进行定位
print(item)
    # 获取的内容为list=[div1,div2,div3]

# 第五步:使用for循环进行遍历列表
for i in item:
    print(f'列表:\n{i}')
    # 遍历的结果为Tag元素
    # 使用find方法对i进行取值
    h2 = i.find('h2')  # 标题
    title = i.find(class_='title')  # 书名
    info = i.find(class_='info')  # 介绍
    print(h2,title,info)  # 取得标签
    print(f'分类:{h2.text}\n书名:{title.text}\n介绍:{info.text}')
    pirnt('链接:',title['href'])  # 这里[]使用f'{}'转义报错,不知道为什么

帮助小微企业构建在线化、智能化的经营管理体系,让经营管理更轻松!

推广

 继续浏览关于 爬虫 的文章

 本文最后更新于:2020/01/11 15:50:45,可能因经年累月而与现状有所差异,有任何疑问可以随时与258771198@qq.com沟通,邮箱永久有效

 引用转载请注明:魔码科技 > Python > Python爬虫学习(1) _ 初窥门径

发现共鸣

如是说:给我一个电话亭,我要拯救地球。