使用bs4解析页面源代码数据
爬取北京新发地(旧网址数据)网页解析的第二种方式HTML解析
1、安装bs4
pip install bs4正式代码
1、拿到页面源代码
2、使用bs4解析,拿到数据
####网页解析的第二种方式HTML解析
### 1、安装bs4
#正是代码
# 1、拿到页面源代码
# 2、使用bs4解析,拿到数据
import requests,pandas as pd
from bs4 import BeautifulSoup
df = pd.Dataframe(columns=('name', 'min_prc', 'avg_prc', 'max_prc', 'index', 'code', 'time'))
url = 'https://www.construdip.com/marketanalysis/0/list/1.shtml'
resp = requests.get(url)
#解析数据
# 1、将数据交给bs4
page = BeautifulSoup(resp.text,"html.parser") ## "html.parser" 指定输入内容,防止警告
# 2、从bs中查找数据
# find(标签,属性=值) find_all(标签,属性=值)
# page.find("table",class_="hq_table") ## class是python里的关键字,使用class_
table = page.find("table",attrs={"class" : "hq_table"}) ## 更好的解决方案
trs = table.find_all("tr")[1:] # [1:] 从第一个开始切分。跳过第0个
for tr in trs:
tds = tr.find_all("td")
name = tds[0].text
min_prc = tds[1].text
avg_prc = tds[2].text
max_prc = tds[3].text
index = tds[4].text
code = tds[5].text
time = tds[6].text
print(name+"t"+min_prc+"t"+avg_prc+"t"+max_prc+"t"+index+"t"+code+"t"+time)
df = df.append([{'name':name, 'min_prc':min_prc, 'avg_prc':avg_prc, 'max_prc':max_prc, 'index':index, 'code':code, 'time':time}], ignore_index=True)
df.to_csv("C:\Users\Desktop\tmp\beijing_xtd_price.csv", encoding='ANSI')
##关闭访问
resq.close()



