Python學(xué)習(xí)筆記(5):爬取一頁(yè)商品數(shù)據(jù)

我的代碼

from bs4 import BeautifulSoup
import requests
import time


#獲取產(chǎn)品鏈接
def get_links_from(who_sells):
    links = []
    urls = ['http://bj.58.com/pbdn/{}/pn{}/'.format(who_sells,i) for i in range(1,10)]
    for signal_url in urls:
        wb_data = requests.get(signal_url)
        time.sleep(5)     #避免訪問(wèn)頻率過(guò)高,被網(wǎng)站反爬取
        if wb_data.status_code == 200:
            soup = BeautifulSoup(wb_data.text, 'lxml')
            for link in soup.select('td.t a.t'):
                links.append(link.get('href'))
    return links

def get_detail(who_sells=0):
    urls = get_links_from(who_sells)
    for url in urls:
        wd_data = requests.get(url)
        soup = BeautifulSoup(wd_data.text, 'lxml')
        
        #在瀏覽器的代碼檢查中靈活利用搜索定位元素位置,縮減代碼長(zhǎng)度
        catalogs = soup.select('div > span > a')
        titles = soup.select('.info_titile')
        prices = soup.select('.price_now i')
        tags = soup.select('.biaoqian_li')
        ranges = soup.select('.palce_li span i')
        views = soup.select('.look_time')
        
        #因?yàn)楸纠衧elect返回列表中只有一個(gè)元素,可以直接在字典中賦值,如price[0]
        for catalog, title, price, tag, range,view in zip(catalogs, titles, prices, tags, ranges,views):
            data = {
                'catalog': catalog.get_text(),
                'title': title.get_text(),
                'price': price.get_text(),
                'tag': tag.get_text(),
                'range': range.get_text(),
                'view': view.get_text(),
            }
            print(data)

#根據(jù)傳入?yún)?shù)抓取不同數(shù)據(jù),0代表個(gè)人(默認(rèn)),1代表商家
get_detail()

總結(jié)

  • select方法返回的是一個(gè)列表
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 31,767評(píng)論 18 399
  • 2017/3/14 RDBMS:關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng) 關(guān)系模型獨(dú)立于語(yǔ)言 SQL有幾種不同類型的語(yǔ)言:數(shù)據(jù)定義語(yǔ)言...
    ancherl閱讀 1,658評(píng)論 0 6
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,424評(píng)論 25 708
  • 這幾日小城的天氣是特別的,以往四季如春的小鎮(zhèn)冬季不飄雪,前一次下雪可是20年前,當(dāng)時(shí)珍妮都還沒(méi)出生,用本地嬸嬸們的...
    蝦飛飛閱讀 376評(píng)論 0 1
  • 2016年5月4日,福建省信息進(jìn)村入戶試點(diǎn)工作培訓(xùn)班在農(nóng)業(yè)廳會(huì)議室舉辦。 會(huì)議由農(nóng)業(yè)廳市場(chǎng)信息處領(lǐng)導(dǎo)主持,各設(shè)區(qū)市...
    義田農(nóng)場(chǎng)閱讀 390評(píng)論 0 0