在本文中,我们将使用Python爬取链家二手房的数据。我们将使用requests库发送HTTP请求,使用BeautifulSoup库解析HTML响应,并使用pandas库将数据保存到CSV文件中。
环境准备
在使用Python爬取链家二手房数据之前,我们需要安装以下库:
- requests
- BeautifulSoup
- pandas
可以使用以下命令来安装它们:
pip install requests
pip install beautifulsoup4
pip install pandas
爬取链家二手房数据
以下是一个爬取链家二手房数据的示例:
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = 'https://bj.lianjia.com/ershoufang/'
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'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
house_list = soup.find_all('div', {'class': 'info clear'})
data = []
for house in house_list:
name = house.find('div', {'class': 'title'}).text.strip()
price = house.find('div', {'class': 'totalPrice'}).text.strip()
unit_price = house.find('div', {'class': 'unitPrice'}).text.strip()
data.append([name, price, unit_price])
df = pd.DataFrame(data, columns=['名称', '总价', '单价'])
df.to_csv('lianjia.csv', index=False, encoding='utf-8-sig')
在上面的示例中,我们使用requests库发送GET请求,获取链家二手房页面。然后,我们使用BeautifulSoup库解析HTML响应,并查找所有房屋信息。对于每个房屋信息,我们提取名称、总价和单价,并将它们添加到数据列表中。最后,我们使用pandas库将数据保存到CSV文件中。
爬取链家二手房数据的指定页码
以下是一个爬取链家二手房数据的指定页码的示例:
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = 'https://bj.lianjia.com/ershoufang/pg2/'
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'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
house_list = soup.find_all('div', {'class': 'info clear'})
data = []
for house in house_list:
name = house.find('div', {'class': 'title'}).text.strip()
price = house.find('div', {'class': 'totalPrice'}).text.strip()
unit_price = house.find('div', {'class': 'unitPrice'}).text.strip()
data.append([name, price, unit_price])
df = pd.DataFrame(data, columns=['名称', '总价', '单价'])
df.to_csv('lianjia.csv', index=False, encoding='utf-8-sig')
在上面的示例中,我们将URL设置为“https://bj.lianjia.com/ershoufang/pg2/”,以获取第二页的数据。其他部分与前面的示例相同。
总结
本文详细讲解了如何使用Python爬取链家二手房数据。我们了解了如何使用requests库发送HTTP请求,使用BeautifulSoup库解析HTML响应,并使用pandas库将数据保存到CSV文件中。实际应用中,我们可以根据需要使用这些技术,实现各种Web爬虫的任务。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python爬取链家二手房的数据 - Python技术站