爬虫学习第三天之bs4和peewee

bs4:

首先导入bs4库

from bs4 import BeautifulSoup

利用requests打开网址

import requests
url = "https://www.sina.com.cn/"
r1 = requests.get(url,'lxml')
r1.encoding='utf-8'
#print (r1.text)

创造一个BeautifulSoup对象

soup =BeautifulSoup(r1.text,'lxml')
#print(soup)

bs4语法

(一)获取属性

# 获取p标签的属性
# 方法一
soup.p.attrs(返回字典) or soup.p.attrs['class'](class返回列表,其余属性返回字符串)
 
# 方法二
soup.p['class'](class返回列表,其余属性返回字符串)
 
# 方法三
soup.p.get('class')(class返回列表,其余属性返回字符串)

(二)find方法

soup.find('a')
soup.find('a', class_='xxx') # 注意class后的下划线

(三)find_all方法

soup.find_all('a')
soup.find_all(['a','span']) #返回所有的a和span标签

# 提取出前两个符合要求的
soup.find_all('a', limit=3)

(四)select方法

返回列表。类似CSS写法来筛选元素,标签名不加任何修饰,类名加点,id名加#

soup.select('a')
 
soup.select('a, span') # 注意引号的位置

(五)CSS选择器

css的规则

标签名不加任何修饰,类名前加点,id名前加#,在这里用的方法大致是一样的,用到的方法是soup.select(),它的返回值是一个列表list

peewee:

1. 创建数据库连接

from peewee import *

# 创建MySQL数据库连接
db = MySQLDatabase(
'spider',    #数据库名称
user='root', 
password='123456',
host='localhost', 
port=3306
)

2.定义数据表模型类

class Book(Model):
    title = CharField()
    author = CharField()
    price = FloatField()
    edition = IntegerField()

    class Meta:
        database = db

3.连接数据库并创建表

# 连接数据库
db.connect()

# 创建表
db.create_tables([Book])

4. 操作数据库

插入数据

使用Peewee插入数据非常简单,只需创建模型类的实例,并设置相应的属性值,然后调用save()方法保存到数据库中。

# 引入数据库连接模块和Book映射类
from database import db, Book

# 连接数据库
db.connect()

# 插入数据
book = Book(title="三体一", author="刘慈欣", price=59.5, edition=6)
book.save()

book = Book(title="1984", author="乔治奥威尔", price=47.9, edition=2)
book.save()

book = Book(title="万历十五年", author="黄仁宇", price=125.5, edition=3)
book.save()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值