真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用Python一步完成動(dòng)態(tài)數(shù)據(jù)的爬取

今天就跟大家聊聊有關(guān)如何使用Python一步完成動(dòng)態(tài)數(shù)據(jù)的爬取,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

為承德縣等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及承德縣網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、承德縣網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

前言

         最近又到了寫(xiě)畢業(yè)論文的季節(jié)了,有好多粉絲朋友私信我說(shuō)老哥能不能幫我爬點(diǎn)數(shù)據(jù)讓我來(lái)寫(xiě)論文,這時(shí)正好有位小女生正在打算買(mǎi)只小喵咪,于是老哥在全網(wǎng)搜索于是發(fā)現(xiàn)了下面的網(wǎng)站只好動(dòng)動(dòng)自己的小手,來(lái)完成這個(gè)艱巨的任務(wù)了,有喜歡爬蟲(chóng)的同學(xué),或有需要爬取數(shù)據(jù)的同學(xué)可以私聊老哥。

頁(yè)面分析

         我們通過(guò)訪問(wèn)一下地址 :http://www.maomijiaoyi.com/index.php?/chanpinliebiao_pinzhong_38.html
         這時(shí)我們可以看到一些喵咪的列表,但是通過(guò)F12觀看實(shí)際是返回的一個(gè)頁(yè)面,而不是我們常用的Json,此時(shí)我們還需要將返回的頁(yè)面打開(kāi)才能獲取到具體喵咪的詳細(xì)信息,例如:價(jià)格、電話、年齡、品種、瀏覽次數(shù)等等。
如何使用Python一步完成動(dòng)態(tài)數(shù)據(jù)的爬取
這時(shí)我們需要做的

  1. 解析返回的列表

  2. 將地區(qū)數(shù)據(jù)解析出來(lái)

  3. 請(qǐng)求喵咪的具體信息

  4. 解析返回的頁(yè)面

  5. 將數(shù)據(jù)保存csv文件

CSV 文件

         啟動(dòng)程序?qū)?huì)保存一下內(nèi)容:
如何使用Python一步完成動(dòng)態(tài)數(shù)據(jù)的爬取

代碼實(shí)現(xiàn)

1、導(dǎo)入依賴(lài)環(huán)境

`import requests # 返送請(qǐng)求 pip install requests` 
`import parsel # html頁(yè)面解析器 pip install  parsel` 
`import  csv # 文本保存`

2、獲取喵咪的列表

`url = "http://www.maomijiaoyi.com/index.php?/chanpinliebiao_pinzhong_37_"+str(i)+"--24.html"`
 `headers = {`
 `'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36'`
 `}`
 `data = requests.get(url=url, headers=headers).text`
 `selector = parsel.Selector(data)`
 `urls = selector.css('div .content:nth-child(1) a::attr(href)').getall()`

3、根據(jù)去獲取喵咪的具體數(shù)據(jù)

 `for s in regionAndURL:`
 `url = "http://www.maomijiaoyi.com" + s[0]`
 `address = s[1]`
 `data = requests.get(url=url, headers=headers).text`
 `selector = parsel.Selector(data)`
 `title = selector.css('.detail_text .title::text').get().strip()  ## 標(biāo)簽`
 `price = selector.css('.info1 span:nth-child(2)::text').get().strip()  ## 價(jià)格`
 `viewsNum = selector.css('.info1 span:nth-child(4)::text  ').get()  ## 瀏覽次數(shù)`
 `commitment = selector.css('.info1 div:nth-child(2) span::text  ').get().replace("賣(mài)家承諾: ", "")  # 賣(mài)家承諾`
 `onlineOnly = selector.css('.info2 div:nth-child(1) .red::text  ').get()  # 在售只數(shù)`
 `variety = selector.css('.info2 div:nth-child(3) .red::text  ').get()  # 品種`
 `prevention = selector.css('.info2 div:nth-child(4) .red::text  ').get()  # 預(yù)防`
 `contactPerson = selector.css('.user_info div:nth-child(1) .c333::text  ').get()  # 聯(lián)系人姓名`
 `phone = selector.css('.user_info div:nth-child(2) .c333::text  ').get()  ## 電話`
 `shipping = selector.css('.user_info div:nth-child(3) .c333::text  ').get().strip()  # 運(yùn)費(fèi)`
 `purebred = selector.css('.item_neirong div:nth-child(1) .c333::text').get().strip()  # 是否純種`
 `quantityForSale = selector.css('.item_neirong div:nth-child(3) .c333::text').get().strip()  # 待售數(shù)量`
 `catSex = selector.css('.item_neirong div:nth-child(4) .c333::text').get().strip()  # 貓咪性別`
 `catAge = selector.css('div.xinxi_neirong .item:nth-child(2)  div:nth-child(2) .c333::text').get().strip()  # 貓咪年齡`
 `dewormingSituation = selector.css(`
 `'div.xinxi_neirong .item:nth-child(2)  div:nth-child(3) .c333::text').get().strip()  # 驅(qū)蟲(chóng)情況`
 `canWatchCatsInVideo = selector.css(`
 `'div.xinxi_neirong .item:nth-child(2)  div:nth-child(4) .c333::text').get().strip()  # 可視頻看貓咪`

4、將數(shù)據(jù)保存為csv文件

`f = open('喵咪.csv', mode='a', encoding='utf-8', newline='')`
`csvHeader = csv.DictWriter(f,`
 `fieldnames=['地區(qū)', '標(biāo)簽', '價(jià)格', '瀏覽次數(shù)', '賣(mài)家承諾', '在售只數(shù)', '地區(qū)', '品種', '預(yù)防', '聯(lián)系人姓名', '電話',`
 `'運(yùn)費(fèi)', '是否純種', '待售數(shù)量', '貓咪性別', '貓咪年齡', '驅(qū)蟲(chóng)情況', '可視頻看貓咪', '詳情地址'])`
`#設(shè)置頭`
`csvHeader.writeheader()`
 `dis = {`
 `'地區(qū)': address,`
 `'標(biāo)簽': title,`
 `'價(jià)格': price,`
 `'瀏覽次數(shù)': viewsNum,`
 `'賣(mài)家承諾': commitment,`
 `'在售只數(shù)': onlineOnly,`
 `'品種': variety,`
 `'預(yù)防': prevention,`
 `'聯(lián)系人姓名': contactPerson,`
 `'電話': phone,`
 `'運(yùn)費(fèi)': shipping,`
 `'是否純種': purebred,`
 `'待售數(shù)量': quantityForSale,`
 `'貓咪性別': catSex,`
 `'貓咪年齡': catAge,`
 `'驅(qū)蟲(chóng)情況': dewormingSituation,`
 `'可視頻看貓咪': canWatchCatsInVideo,`
 `'詳情地址': url`
 `}`
 `csvHeader.writerow(dis)`

看完上述內(nèi)容,你們對(duì)如何使用Python一步完成動(dòng)態(tài)數(shù)據(jù)的爬取有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


名稱(chēng)欄目:如何使用Python一步完成動(dòng)態(tài)數(shù)據(jù)的爬取
網(wǎng)站網(wǎng)址:http://weahome.cn/article/jssgjp.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部