Python 爬蟲是一項非常有用的技能,可以用來抓取互聯(lián)網(wǎng)上任何可獲取的信息。這篇文章將介紹如何使用 Python 爬蟲來抓取餓了么網(wǎng)站上的餐廳信息。
import requests from bs4 import BeautifulSoup url = 'https://www.ele.me/place/wqt0dmt7v91?latitude=22.54785668&longitude=113.94523164' 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'} res = requests.get(url, headers=headers) soup = BeautifulSoup(res.text, 'html.parser') # 找到店鋪信息 shops = soup.select('.restaurant__list .restaurant') for shop in shops: # 店鋪名稱 name = shop.select_one('.name').text.strip() # 評分 rating = shop.select_one('.rating i')['style'].split(':')[1].strip('%;') # 月售數(shù)量 monthly_sales = shop.select_one('.sales').text.replace('月售', '') # 配送信息 delivery_info = shop.select_one('.delivery').text.strip() # 距離 distance = shop.select_one('.distance').text print(name, rating, monthly_sales, delivery_info, distance)
以上代碼首先使用 requests 庫獲取餓了么網(wǎng)站的 HTML 代碼,然后使用 BeautifulSoup 庫解析 HTML 代碼。接著使用 CSS Selector 語法找到所有餐廳的 DOM 元素。最后循環(huán)遍歷每個餐廳的 DOM 元素,提取店鋪名、評分、月售數(shù)量、配送信息和距離等信息。
爬蟲抓取網(wǎng)站數(shù)據(jù)要注意遵守相關法律法規(guī)和網(wǎng)站協(xié)議,不要過度頻繁地請求同一個網(wǎng)站,以免給網(wǎng)站帶來不必要的壓力。