色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 爬攜程

劉姿婷2年前9瀏覽0評論

Python語言已經成為網絡爬蟲的首選語言之一。本文將介紹如何使用Python爬取攜程網站上的酒店信息,并將數據保存到本地。

首先,我們需要安裝幾個必備的Python庫:requests和BeautifulSoup??梢允褂靡韵旅钸M行安裝:

pip install requests
pip install beautifulsoup4

安裝完成之后,我們需要了解一下攜程網站的頁面結構。其中,酒店信息存儲在頁面的JavaScript代碼中。為了方便解析,我們可以先將頁面上的JavaScript代碼提取出來,再使用正則表達式或者其他方法進行解析。

以下是代碼示例:

import requests
from bs4 import BeautifulSoup
import re
url = "https://hotels.ctrip.com/hotel/shanghai2/g2"
# 獲取頁面內容
res = requests.get(url)
res.encoding = "utf-8"
html = res.text
# 提取JavaScript代碼
pattern = re.compile('\s*(.*?)\s*', re.S)
script_text = pattern.findall(html)[0]
# 解析JavaScript代碼
soup = BeautifulSoup(script_text, 'html.parser')
hotel_list = soup.select("[class=hotel_new_list]")
# 輸出酒店信息
for hotel in hotel_list:
# 獲取酒店名稱
name = hotel.select("[class=hotel_name]").get_text()
# 獲取酒店地址
address = hotel.select("[class=hotel_item_htladdress]").get_text()
print(name, address)

上述代碼中,我們先通過requests庫獲取頁面內容,并使用正則表達式提取JavaScript代碼。接著,使用BeautifulSoup庫解析JavaScript代碼,并提取需要的酒店信息。最后,將獲取到的酒店名稱和地址輸出。

此外,我們還可以將爬取到的數據保存到本地??梢詫祿鎯槲募蛘邔祿鎯Φ綌祿熘?。以下是將數據存儲為文件的代碼示例:

data = []
for hotel in hotel_list:
name = hotel.select("[class=hotel_name]").get_text()
address = hotel.select("[class=hotel_item_htladdress]").get_text()
data.append([name, address])
# 保存數據到本地文件
with open("hotel_data.txt", "w", encoding="utf-8") as f:
for d in data:
f.write(",".join(d) + "\n")

上述代碼中,我們將獲取到的酒店信息保存到一個列表中,然后使用Python內置的文件操作函數將數據保存到本地文件中。

總之,Python語言在網絡爬蟲領域中有著廣泛的應用。使用Python可以輕松地爬取攜程網站等各種網站上的數據,并將數據保存到本地,供后續分析和使用。