首先先看到top500的頁面,如下圖所示
網頁版的酷狗沒有翻頁的操作,所以不能看到後面頁數的鏈結,根據第一頁的鏈結, 我們嘗試把鏈結裡面的數字1改為2,果然跳轉到第二頁去了,這樣就好辦了,每頁顯示22條歌曲,所以經過計算,需要23條url鏈結,後面自己手動建立url
具體的操作和解釋都下面**中
# -*- encoding:utf8 -*-
import requests
from bs4 import beautifulsoup
import itertools
import time
# 請求頭,用來偽裝為瀏覽器
headers =
# 定義獲取資訊的函式
def get_info(url):
wb_data = requests.get(url,headers=headers)
soup = beautifulsoup(wb_data.text,"lxml")
# 排名
ranks = soup.select("span.pc_temp_num")
# 標題
titles = soup.select("div.pc_temp_songlist > ul > li > a")
# 時間
times = soup.select("span.pc_temp_tips_r > span")
# itertools.izip()函式可以平行的迭代多個陣列,python2.7裡面用izip(),3.6版本的則用zip()更好
for rank,title,time in itertools.izip(ranks,titles,times):
data =
print data
# 程式的入口
if __name__ == "__main__":
# 建立多頁的url
urls = ["".format(number) for number in range(1,24)]
for i in urls:
get_info(i)
# 休眠2秒
time.sleep(2)
# 下面的**可以更好的理解["".format(number) for number in range(1,24)]
# for i in range(1,23):
# urls = ["".format(i)]
# print urls
爬蟲實戰 爬取當當網top500書籍
1.這個好像是爬蟲入門必備專案,練練手 練習 2.requests bs4模式,因為這個 比較簡單,不多說廢話了。usr bin env python coding utf 8 爬取當當網top500書籍 import requests from bs4 import beautifulsoup f...
爬取當當網 Top 500 本五星好評書籍
開啟這個書籍排行榜的位址 可以看到一下網頁 每一頁顯示 20 本書 你可以發現位址變了 也就是我們翻到第幾頁的時候 鏈結位址的最後乙個引數會跟著變 那麼我們等會在 python 中可以用乙個變數 來實現獲取不同頁數的內容 可以看到 我們通過 get 請求,獲得的請求頭 伺服器返回的資料 我們要的就是...
爬取當當網 Top 500 本五星好評書籍
開啟這個書籍排行榜的位址 很容易就能定位到書籍資訊 難點在於如何寫乙個正則。直接看 import requests import reimport json headers defwrite item to file item with open book.txt a encoding utf 8 ...