python 将字符串‘https://you.ctrip.com/sight/shenyang155.html'中的.html删掉
时间: 2024-01-16 15:05:18 浏览: 39
可以使用字符串的切片操作来删除指定的子字符串,如下所示:
```python
url = 'https://you.ctrip.com/sight/shenyang155.html'
new_url = url[:-5] # 切片操作,删除最后5个字符(.html)
print(new_url)
```
输出结果为:
```
https://you.ctrip.com/sight/shenyang155
```
另外,也可以使用字符串的`replace()`方法将`.html`替换为空字符串,如下所示:
```python
url = 'https://you.ctrip.com/sight/shenyang155.html'
new_url = url.replace('.html', '') # 将 .html 替换为空字符串
print(new_url)
```
输出结果同样为:
```
https://you.ctrip.com/sight/shenyang155
```
相关问题
请使用python爬取https://hotels.ctrip.com/网站上的四星级五星级房间的数据
好的,下面是使用 Python 爬取 https://hotels.ctrip.com/ 网站上四星级和五星级酒店房间数据的代码:
```python
import requests
from bs4 import BeautifulSoup
# 构造请求头
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'}
# 构造请求参数
params = {
'hotelType': 'F',
'star': '4,5',
'pageno': '1'
}
# 发送请求
url = 'https://hotels.ctrip.com/hotel/{}/p{}'.format(params['hotelType'], params['pageno'])
response = requests.get(url, headers=headers, params=params)
# 解析网页
soup = BeautifulSoup(response.text, 'html.parser')
rooms = soup.select('.hotel_new_list > .hotel_new_listitem.J_HotelListItem')
# 提取数据
for room in rooms:
room_name = room.select_one('.hotel_name > a').get_text().strip()
room_price = room.select_one('.J_price_lowList').get_text().strip()
room_star = room.select_one('.hotel_item > .hotel_item_htladdress > .hotel_item_star > span')['title']
print('房间名称:', room_name)
print('房间价格:', room_price)
print('房间星级:', room_star)
print('-' * 50)
```
这段代码使用 requests 库发送 HTTP 请求,使用 BeautifulSoup 库解析网页,从而获取四星级和五星级酒店房间的名称、价格和星级等数据。具体来说,我们通过构造请求头和请求参数来发送请求,然后使用 BeautifulSoup 库解析 HTML 代码,从而获取到所有的房间信息。然后,我们可以通过遍历房间列表来提取每个房间的名称、价格和星级等信息,并输出到控制台上。
请注意,这段代码只爬取了第一页的数据,如果您需要爬取更多数据,可以通过修改请求参数中的 `pageno` 参数来实现。同时,我们也只获取了四星级和五星级酒店的数据,如果您需要获取其他星级的酒店房间数据,可以通过修改请求参数中的 `star` 参数来实现。
请使用python爬取https://hotels.ctrip.com/网站上20页的二星级三星级四星级五星级房间的数据
好的,这个任务需要用到Python中的requests库和BeautifulSoup库来爬取和解析网页内容。以下是代码实现:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://hotels.ctrip.com/'
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'}
# 获取每个星级酒店的链接
star_urls = {}
for star in range(2, 6):
params = {'star': star}
html = requests.get(url + 'hotel', headers=headers, params=params).text
soup = BeautifulSoup(html, 'html.parser')
links = soup.select('.hotel_list .hotel_new_list a.hotel_name')
star_urls[star] = [link['href'] for link in links]
# 爬取每个房间的数据
data = []
for star in range(2, 6):
for link in star_urls[star]:
for page in range(1, 21):
params = {'hotelId': link.split('/')[-1], 'pageIndex': page}
html = requests.get(url + 'hotel/dianping/' + link.split('/')[-1], headers=headers, params=params).text
soup = BeautifulSoup(html, 'html.parser')
rooms = soup.select('.hotel_comment_list .comment_block')
for room in rooms:
room_data = {}
room_data['hotel'] = soup.select_one('.hotel_name').get_text(strip=True)
room_data['star'] = star
room_data['room'] = room.select_one('.room_name').get_text(strip=True)
room_data['price'] = room.select_one('.comment_txt span').get_text(strip=True)
data.append(room_data)
print(data)
```
这段代码首先获取了每个星级酒店的链接,然后通过循环遍历每个链接,以及每个链接的前20页,来爬取每个房间的数据。最终将所有数据存储在列表中,输出到屏幕上。
需要注意的是,由于该网站有反爬机制,因此需要设置headers来模拟浏览器发送请求。同时,代码中使用了BeautifulSoup库来解析网页内容,需要先使用pip安装该库。