提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
上篇说到正则表达式并且举例说明
提示:以下是本篇文章正文内容,下面案例可供参考
一、BeautifulSoup
二、解析库
2、1安装
pip install BeautifulSoup4
2、2基本使用
string
name获取标签名本身
attrs[]-通过属性拿属性的值
3、标准选择器
使用find_all()根据标签名查找
get_text()获取内容
使用find_all()根据属性查找
这种是重点写法
text=()根据文本值选择
4、CSS选择器
案例
简单爬取一个租房网站的信息
import requests
from bs4 import BeautifulSoup
# url = 'https://cs.lianjia.com/zufang/'
headers = {
'User-Agent':'自己电脑的User-Agent'
}
def get_data():
a1 = requests.get(url,headers=headers)
a2 = a1.text
return a2
def parse_data(data):
s = BeautifulSoup(data,'lxml')
# title = s.find_all('a',{'class':'twoline'})
title = s.find_all('a',{
'class':'content__list--item--aside'})#指定标签和属性的写法
price = s.find_all('span',{
'class':'content__list--item-price'})#比较推荐这种写法
# print(titles)
# print(price)
for i ,j in zip(title,price):
name = i['title']
link = 'https://cs.lianjia.com'+ i['href']
prices = j.get_text()
print(name)
print(link)
print(prices)
print('====================')
if __name__ == '__main__':
for i in range(1,101):
print(f'当前是第{
i}页')#实现翻页
url = 'https://cs.lianjia.com/zufang/pg{}/'.format(i)
a = get_data()
parse_data(a)
# print(a)