上面的代码可以改成收集400条泰州房屋信息吗
时间: 2024-04-01 14:37:12 浏览: 51
可以的,你只需要修改URL和循环次数即可。
以下是一个示例代码,可以爬取泰州市的400条二手房信息:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 设置请求头
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'}
# 构造URL
url = 'https://taizhou.lianjia.com/ershoufang/pg'
# 处理数据
data = []
for i in range(1, 21): # 循环20页,每页20条数据,总共400条数据
# 构造请求URL
page_url = url + str(i)
# 发送请求
response = requests.get(page_url, headers=headers)
# 解析HTML
soup = BeautifulSoup(response.text, 'html.parser')
house_list = soup.find_all('div', class_='info clear')
# 处理数据
for house in house_list:
name = house.find('div', class_='title').a.text.strip()
price = house.find('div', class_='totalPrice').span.text + '万'
area = house.find('div', class_='houseInfo').text.split('|')[1].strip()
data.append([name, price, area])
print('第%d页完成' % i)
# 将数据写入CSV文件
df = pd.DataFrame(data, columns=['房屋名称', '价格', '面积'])
df.to_csv('taizhou.csv', encoding='utf-8-sig', index=False)
```
在这个示例中,我们将URL修改为泰州市的二手房信息页面,并循环20次,每次爬取20条数据,总共爬取400条数据。需要注意的是,链家网站对爬虫有反爬机制,如果一次性爬取太多数据,可能会被封IP或者验证码拦截。因此,我们将爬取数据分成了20页,每页只爬取20条数据,这样可以避免被封IP或者拦截的风险。
阅读全文