1. 程式人生 > >python爬蟲--旅遊景點

python爬蟲--旅遊景點

一、準備工作

1、python編譯器IDLE 或者下載pycharm(網上有教程和破解期限) 匯入requests包和BeautifulSoup4包。 (快速下載包方法見我的部落格【快速pip下載python包】文章) 2、chrome谷歌瀏覽器(ie也湊合用)

對下面這部分的資訊,包括名稱,價格,圖片的爬取。 在這裡插入圖片描述

程式碼如下

import requests
from bs4 import BeautifulSoup
url = requests.get('https://go.hao123.com')#請求這個網址
soup = BeautifulSoup(url.content, "lxml")#解析網址
#print(soup)  #可以檢視HTML原始碼
images = soup.select('body > div.content-outer-wrapper > div > div > div > div > div > div > div > a > img')
prices  = soup.select('body > div.content-outer-wrapper > div > div > div.tejia-menpiao > div.container > div > div > div.price > a > div.new')
names = soup.select('body > div.content-outer-wrapper > div > div > div.tejia-menpiao > div.container > div > div > div.pic > a > div')

data = {}
#三個同時遍歷用到zip()
for name, price, image in zip(names, prices, images):
    data = {
        'name': name.get_text(),
        'price': price.get_text(),
        'img': image.get('src')
    }
    print(data)     #遍歷列表,並用字典儲存

程式碼中的soup.select(’*******’)這裡解釋一下使用方法。 谷歌瀏覽器開啟網頁 滑鼠放在你所要抓取的圖片上右鍵檢查 在這裡插入圖片描述 之後你會看到以下原始碼,並且有一部分被索引著。 在這裡插入圖片描述 然後滑鼠放在索引著的部分右鍵 copy --> copy selector ,你會得到以下程式碼

body > div.content-outer-wrapper > div > div:nth-child(2) > div.tejia-menpiao > div.container > div:nth-child(2) > div:nth-child(1) > div.pic > a > img

將裡面的 :nth-child(2) 或者 :nth-child(1) 之類的這種刪除,別的什麼都不用動,空格也不要刪。之後剩下的就是soup.select()裡面填寫的,挑選圖片的。挑選別的方法類似。

body > div.content-outer-wrapper > div > div > div.tejia-menpiao > div.container > div: > div > div.pic > a > img

最後輸出結果

在這裡插入圖片描述

謝謝支援,本人親測成功執行。