Python房价分析pyton爬虫
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 房价数据爬取函数
def get_data(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
res = requests.get(url, headers=headers)
res.raise_for_status()
soup = BeautifulSoup(res.text, 'lxml')
return soup
# 解析数据函数
def parse_data(soup):
data_list = []
for tr in soup.find('tbody').children:
if isinstance(tr, bs4.element.Tag): # 确保 tr 是一个标签
tds = tr('td')
data_list.append([tds[0].text, tds[1].text, tds[3].text])
return data_list
# 保存数据到CSV
def save_to_csv(data_list, csv_file):
df = pd.DataFrame(data_list, columns=['区域', '房源', '单价'])
df.to_csv(csv_file, index=False, encoding='utf-8-sig')
# 主函数
def main(url, csv_file):
soup = get_data(url)
data_list = parse_data(soup)
save_to_csv(data_list, csv_file)
if __name__ == '__main__':
url = 'https://hz.lianjia.com/ershoufang/'
csv_file = 'ershoufang.csv'
main(url, csv_file)
这段代码实现了一个简单的房价数据爬取工具,它从某个房产交易网站爬取数据,解析页面中的表格数据,并将其保存到CSV文件中。代码使用了requests库来发送HTTP请求,BeautifulSoup库来解析HTML,以及pandas库来处理和保存数据。这个例子教会了如何组织代码,进行模块化设计,并且展示了如何应对简单的反爬虫策略。
评论已关闭