import requests
from bs4 import BeautifulSoup
import openpyxl
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
mess_list = [] # 用于存储获取的所有信息
# 获取 html 代码
def get_html(url):
print("======正在获取{}页信息======".format(page))
resp = requests.get(url,headers=headers)
print("\t其状态响应码:",resp.status_code)
html = resp.text
return html
# 提取数据
def get_content(html):
global mess_list # 调用这个变量
suop = BeautifulSoup(html,'html.parser')
list = suop.find_all('div',class_="info clear") # 一个包含所有信息的最小父级盒子(不包扩图片的那种)
for a in list:
name = a.find('a',class_="").get_text() # 名字
price = a.find('div',class_="totalPrice").get_text()
price = price.replace("万","") # 总价 万
pic = a.find('div',class_="unitPrice").get_text()
pic = pic.replace("单价","")
pic = pic.replace("元/平米","") # 均价 元/平米
ip = a.find("div",class_="positionInfo").get_text()
ip = ip.replace(" ","") # 地址
format = a.find("div",class_="houseInfo").get_text()
format = format.replace("|","") # 规格
describe = a.find("div",class_="tag").get_text() # 描述
mess_list.append([name,price,pic,ip,format,describe])
return mess_list
# 保存文件
def save(mess_list):
file = openpyxl.Workbook() # 新建一个工作薄
sheet = file.active # 在新建一个工作薄的基础上,建立工作表
sheet.title = '房价信息' # 对工作表进行命名 他与文件的命名 互不影响
# 写入内容 格式 表头信息
sheet['A1'] = '名字'
sheet['B1'] = '总价(单位:万)'
sheet['C1'] = '均价(单位:元/平米)'
sheet['D1'] = '地址'
sheet['E1'] = '规格'
sheet['F1'] = '优点'
for b in mess_list:
# print(b)
sheet.append(b) # 添加内容
file.save(r"C:\Users\DELL\Desktop\python_wd\郑州房源信息.xlsx") # 保存至自定义目录下
# 主函数
def main(page):
url = 'https://zz.lianjia.com/ershoufang/pg{}/'.format(page)
html = get_html(url)
mess_list = get_content(html)
save(mess_list)
if __name__ == '__main__':
for page in range(1,3): # 翻页处理
main(page)
郑州房源 函数 xlsx文件格式
最新推荐文章于 2022-03-21 18:12:25 发布