14-bs4基本使用---爬取菜价
作者:互联网
首先要安装bs4
pip install bs4
from bs4 import BeautifulSoup
import requests
import csv
url = "http://www.maicainan.com/offer/show/id/3242.html"
resp = requests.get(url)
f = open("price.csv", "w")
csvWriter = csv.writer(f)
# 解析数据
# 1、把页面源代码交给BeautifulSoup进行处理,生成bs对象
page = BeautifulSoup(resp.text, "html.parser") # 后一个参数是用于指定html解析器
# 2、从bs4对象中查找数据
# 方法一:find(标签,如果有多个相同标签可以添加 属性=值) 只查找第一个
# 方法二:find_all(标签,如果有多个相同标签可以添加 属性=值) 全部查找
# table = page.find("table", class_="hq_table") # class是关键字,通过加上下划线来区别关键字
table = page.find_all("table", attrs={"class": "hq_table"}) # 和上一行是一个意思,不过可以避免关键字class
# 拿到所有的数据行
trs = table.find_all("tr")[1:]
for tr in trs: # 每一行
tds = tr.find_all("td") # 拿到每一行中所有的td
name = tds[0].text
low = tds[1].text
avg = tds[2].text
high = tds[3].text
kind = tds[4].text
csvWriter.writerow([name, low, avg, high, kind])
# print(name, low, avg, high, kind)
resp.close()
f.close()
print("over")
标签:14,bs4,text,class,爬取,tds,table,find 来源: https://www.cnblogs.com/morehair/p/15679540.html