area = re.findall(r'\d+[.]?\d*', Soup.find('p', class_='content__list--item--des').text.strip())[0] pattern = re.findall(r'(\d+)室(\d+)厅(\d+)卫', Soup.find('p', class_='content__list--item--des').text.strip())转化为字符串类型
时间: 2023-12-22 15:04:34 浏览: 75
你的问题是将这段代码转化为字符串类型。可以使用 str() 函数将其转换为字符串类型,代码如下:
```
area_str = str(re.findall(r'\d+[.]?\d*', Soup.find('p', class_='content__list--item--des').text.strip())[0])
pattern_str = str(re.findall(r'(\d+)室(\d+)厅(\d+)卫', Soup.find('p', class_='content__list--item--des').text.strip()))
```
这样就可以将 area 和 pattern 转化为字符串类型了。
相关问题
import requests from bs4 import BeautifulSoup import pandas as pd import xlrd # 读取Excel文件中的小区名字 def read_excel(filename): data = pd.read_excel(filename) return data['小区名'].tolist() # 爬取二手房数据 def crawl_data(area): print(area) print('1') url = 'https://wx.ke.com/ershoufang/rs'+area # 无锡二手房页面 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.36 Edge/16.16299' } params = { 'kw': area } response = requests.get(url, headers=headers, params=params) soup = BeautifulSoup(response.text, 'html.parser') # 解析页面数据 result = [] house_list = soup.find_all('div', class_='info clear') for house in house_list: title = house.find('div', class_='title').text.strip() address = house.find('div', class_='address').text.strip() house_Info = house.find('div', class_='houseInfo').text.strip() priceInfo = house.find('div', class_='priceInfo').text.strip() followInfo = house.find('div', class_='followInfo').text.strip() result.append({ 'title': title, 'address': address, 'house_info':house_Info, 'priceInfo':priceInfo, 'followInf':followInfo }) return result # 将数据保存到Excel文件中 def save_to_excel(data, filename): df = pd.DataFrame(data) df.to_excel(filename, index=False) # 主函数 if __name__ == '__main__': areas = read_excel('小区名.xlsx') for area in areas: print('正在爬取:', area) data = crawl_data(area) save_to_excel(data, area + '.xlsx') print('爬取完成!')
这段代码是一个简单的爬虫程序,用来爬取指定小区的二手房信息,并将数据保存到 Excel 文件中。程序首先通过读取 Excel 文件中的小区名字,依次对每个小区进行爬取。爬取时,程序将小区名字作为参数拼接到目标 URL 中,然后使用 requests 库发送 GET 请求获取 HTML 页面,再使用 BeautifulSoup 库解析 HTML 页面,提取出需要的信息,并将结果保存到一个列表中。最后,程序将列表中的数据保存到 Excel 文件中。
import requests from bs4 import BeautifulSoup url = 'https://nantong.anjuke.com/sale/chongchuan/?from=HomePage_TopBar' # 获取网页内容 response = requests.get(url) html = response.content.decode('utf-8') # 解析网页内容 soup = BeautifulSoup(html, 'html.parser') house_list = soup.find_all('li', {'class': 'list-item'}) # 遍历房源信息 for house in house_list: # 房型 house_type = house.find('div', {'class': 'house-details'}).find_all('span')[0].text.strip() # 面积 area = house.find('div', {'class': 'house-details'}).find_all('span')[1].text.strip() # 小区 community = house.find('div', {'class': 'house-details'}).find_all('span')[2].text.strip() # 区域地点 location = house.find('div', {'class': 'house-details'}).find_all('span')[3].text.strip() # 总价 total_price = house.find('span', {'class': 'price-det'}).text.strip() # 每平方单价 unit_price = house.find('span', {'class': 'unit-price'}).text.strip() # 输出采集的数据 print('房型:', house_type) print('面积:', area) print('小区:', community) print('区域地点:', location) print('总价:', total_price) print('每平方单价:', unit_price) print('')为基础完成对数据进行清洗、处理:将面积、总价、每平方单价中的单位去除,并将数据转换为浮点型,将区域地点中的区和路名去除,仅保留中间的区域(例;取“崇川-北大街-幸福大道”中的“北大街”)。输出结果。
import requests
from bs4 import BeautifulSoup
url = 'https://nantong.anjuke.com/sale/chongchuan/?from=HomePage_TopBar'
response = requests.get(url)
html = response.content.decode('utf-8')
soup = BeautifulSoup(html, 'html.parser')
house_list = soup.find_all('li', {'class': 'list-item'})
for house in house_list:
house_type = house.find('div', {'class': 'house-details'}).find_all('span')[0].text.strip()
area = house.find('div', {'class': 'house-details'}).find_all('span')[1].text.strip()[:-2] # 去除单位
community = house.find('div', {'class': 'house-details'}).find_all('span')[2].text.strip()
location = house.find('div', {'class': 'house-details'}).find_all('span')[3].text.strip().split('-')[1] # 取区域
total_price = float(house.find('span', {'class': 'price-det'}).text.strip()[:-1]) # 去除单位并转换为浮点型
unit_price = float(house.find('span', {'class': 'unit-price'}).text.strip()[2:-4]) # 去除单位并转换为浮点型
print('房型:', house_type)
print('面积:', float(area))
print('小区:', community)
print('区域地点:', location)
print('总价:', total_price)
print('每平方单价:', unit_price)
print('')
阅读全文