国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

如何申請域名建立網(wǎng)站資源最全的網(wǎng)盤搜索引擎

如何申請域名建立網(wǎng)站,資源最全的網(wǎng)盤搜索引擎,做視頻網(wǎng)站該把視頻文件傳到哪,網(wǎng)站項(xiàng)目建設(shè)人員規(guī)劃本例中,利用 requests 庫和正則表達(dá)式來抓取貓眼電影 TOP100 的相關(guān)內(nèi)容。 1.目標(biāo) 提取出貓眼電影 TOP100 的電影名稱、時(shí)間、評分、圖片等信息,提取的站點(diǎn) URL 為 http://maoyan.com/board/4,提取的結(jié)果會以文件形式保存下來。 2.抓取分析…

本例中,利用 requests 庫和正則表達(dá)式來抓取貓眼電影 TOP100 的相關(guān)內(nèi)容。

1.目標(biāo)

提取出貓眼電影 TOP100 的電影名稱、時(shí)間、評分、圖片等信息,提取的站點(diǎn) URL 為 http://maoyan.com/board/4,提取的結(jié)果會以文件形式保存下來。

2.抓取分析

抓取頁面如下:

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

頁面中顯示的有效信息有影片名稱、主演、上映時(shí)間、上映地區(qū)、評分、圖片等信息。

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

將網(wǎng)頁滾動到最下方,可以發(fā)現(xiàn)有分頁的列表。直接點(diǎn)擊第 2 頁,觀察頁面的 URL 和內(nèi)容發(fā)生了怎樣的變化。

第一頁url:https://www.maoyan.com/board/4?offset=0

第二頁url:https://www.maoyan.com/board/4?offset=10

可以發(fā)現(xiàn)offset從0變成了10,而每一頁都顯示了十部電影,由此可以總結(jié)出規(guī)律,offset 代表偏移量值。如果想獲取 TOP100 電影,只需要分開請求 10 次,而 10 次的 offset 參數(shù)分別設(shè)置為 0、10、20…90 即可,這樣獲取不同的頁面之后,再用正則表達(dá)式提取出相關(guān)信息,就可以得到 TOP100 的所有電影信息了。

3.抓取首頁

首先抓取第一頁的內(nèi)容。實(shí)現(xiàn) get_one_page 方法,并給它傳入 url 參數(shù)。然后將抓取的頁面結(jié)果返回。初步代碼實(shí)現(xiàn)如下:

import requests
import redef get_one_page(url):headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36'}response=requests.get(url,headers=headers)if response.status_code==200:return response.textreturn Nonedef main():html=get_one_page('https://www.maoyan.com/board/4?offset=0')print(html)main()

4.正則提取

回到網(wǎng)頁看一下頁面的真實(shí)源碼。在開發(fā)者模式下的 Network 監(jiān)聽組件中查看源代碼。、

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

注意,這里不要在 Elements 選項(xiàng)卡中直接查看源碼,因?yàn)槟抢锏脑创a可能經(jīng)過 JavaScript 操作而與原始請求不同,而是需要從 Network 選項(xiàng)卡部分查看原始請求得到的源碼。

其中一個(gè)條目的源代碼如下:

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

可以看到,一部電影信息對應(yīng)的源代碼是一個(gè) dd 節(jié)點(diǎn),我們用正則表達(dá)式來提取這里面的一些電影信息。首先,需要提取它的排名信息。而它的排名信息是在 class 為 board-index 的 i 節(jié)點(diǎn)內(nèi),這里利用非貪婪匹配來提取 i 節(jié)點(diǎn)內(nèi)的信息,正則表達(dá)式寫為:

result_ranking=re.findall('<dd>.*?board-index.*?>(.*?)</i>',html,re.S)

隨后需要提取電影的圖片。

result_img=re.findall('<img\sdata-src="(.*?)"',html,re.S)

再往后,需要提取電影的名稱.

result_name=re.findall('class="name".*?data-val.*?>(.*?)</a>',html,re.S)

再提取主演、發(fā)布時(shí)間、評分等內(nèi)容時(shí),都是同樣的原理。最后,正則表達(dá)式寫為:

result_star=re.findall('class="star".*?>(.*?)</p>',html,re.S)
result_star = [star.strip() for star in result_star]
result_time=re.findall('class="releasetime".*?>(.*?)</p>',html,re.S)
result_score=re.findall('class="score".*?integer.*?>(.*?)</i>.*?fraction">(.*?)</i>',html,re.S)

由于這里的主演前后帶有空格和換行符,使用strip去除。

到這里我們就可以將一部電影的6個(gè)數(shù)據(jù)提取出來,但這樣還不夠,數(shù)據(jù)比較雜亂,我們再將匹配結(jié)果處理一下,生成字典,如下:

index=0
result={'ranking':result_ranking[index],'img':result_img[index],'name':result_name[index],'star':result_star[index],'time':result_time[index],'score':result_score[index]}

5.寫入文件

隨后,我們將提取的結(jié)果寫入文件,這里直接寫入到一個(gè)文本文件中。這里通過 JSON 庫的 dumps 方法實(shí)現(xiàn)字典的序列化,并指定 ensure_ascii 參數(shù)為 False,這樣可以保證輸出結(jié)果是中文形式而不是 Unicode 編碼。代碼如下:

import json
def write_to_file(content):  with open('result.txt', 'a', encoding='utf-8') as f:  print(type(json.dumps(content)))  f.write(json.dumps(content, ensure_ascii=False)+'\n')

6.整合代碼分頁爬取

因?yàn)槲覀冃枰ト〉氖?TOP100 的電影,所以還需要遍歷一下,給這個(gè)鏈接傳入 offset 參數(shù),實(shí)現(xiàn)其他 90 部電影的爬取,此時(shí)添加如下調(diào)用即可:

import time
for i in range(10):url='https://www.maoyan.com/board/4?offset='+str(i*10)time.sleep(0.5)html=get_one_page(url)result_ranking=re.findall('<dd>.*?board-index.*?>(.*?)</i>',html,re.S)result_img=re.findall('<img\sdata-src="(.*?)"',html,re.S)result_name=re.findall('class="name".*?data-val.*?>(.*?)</a>',html,re.S)result_star=re.findall('class="star".*?>(.*?)</p>',html,re.S)result_star = [star.strip() for star in result_star]result_time=re.findall('class="releasetime".*?>(.*?)</p>',html,re.S)result_score=re.findall('class="score".*?integer.*?>(.*?)</i>.*?fraction">(.*?)</i>',html,re.S)for index in range(10):result={'ranking':result_ranking[index],'img':result_img[index],'title':result_name[index],'star':result_star[index],'reaease_time':result_time[index],'score':result_score[index]}write_to_file(result)

注意每次請求頁面后加入暫停時(shí)間,否則會被反爬機(jī)制阻止,需要更換新的user-agent和cookie。

爬取結(jié)果如下:

外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳

番外:使用正則表達(dá)式對象改寫

在上面的正則提取中我們?yōu)槊恳粭l要提取的信息都編寫了一個(gè)正則表達(dá)式進(jìn)行提取,可以利用compile方法編寫正則表達(dá)式對象一次將六條信息全部提取出來,下面進(jìn)行簡化,我們將要提取的信息用一條正則表達(dá)式描述,使用group逐個(gè)提取出來。

可以看到,一部電影信息對應(yīng)的源代碼是一個(gè) dd 節(jié)點(diǎn),我們用正則表達(dá)式來提取這里面的一些電影信息。首先,需要提取它的排名信息。而它的排名信息是在 class 為 board-index 的 i 節(jié)點(diǎn)內(nèi),這里利用非貪婪匹配來提取 i 節(jié)點(diǎn)內(nèi)的信息,正則表達(dá)式寫為:

<dd>.*?board-index.*?>(.*?)</i>

隨后需要提取電影的圖片。可以看到,后面有 a 節(jié)點(diǎn),其內(nèi)部有兩個(gè) img 節(jié)點(diǎn)。經(jīng)過檢查后發(fā)現(xiàn),第二個(gè) img 節(jié)點(diǎn)的 data-src 屬性是圖片的鏈接。這里提取第二個(gè) img 節(jié)點(diǎn)的 data-src 屬性,在原有正則表達(dá)式基礎(chǔ)可以改寫如下:

<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)"

再往后,需要提取電影的名稱,它在后面的 p 節(jié)點(diǎn)內(nèi),class 為 name。所以,可以用 name 做一個(gè)標(biāo)志位,然后進(jìn)一步提取到其內(nèi) a 節(jié)點(diǎn)的正文內(nèi)容,此時(shí)正則表達(dá)式改寫如下:

<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)".*?name.*?a.*?>(.*?)</a>

再提取主演、發(fā)布時(shí)間、評分等內(nèi)容時(shí),都是同樣的原理。最后,正則表達(dá)式寫為:

<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)".*?name.*?a.*?>(.*?)</a>.*?star.*?>(.*?)</p>.*?releasetime.*?>(.*?)</p>.*?integer.*?>(.*?)</i>.*?fraction.*?>(.*?)</i>.*?</dd>

接下來,通過調(diào)用 findall 方法提取出所有的內(nèi)容。

pattern = re.compile('<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)".*?name.*?a.*?>(.*?)</a>.*?star.*?>(.*?)</p>.*?releasetime.*?>(.*?)</p>.*?integer.*?>(.*?)</i>.*?fraction.*?>(.*?)</i>.*?</dd>',re.S)items = re.findall(pattern, html)

輸出結(jié)果如下:

[('1', 'http://p1.meituan.net/movie/20803f59291c47e1e116c11963ce019e68711.jpg@160w_220h_1e_1c', ' 霸王別姬 ', '\n                主演:張國榮,張豐毅,鞏俐 \n        ', ' 上映時(shí)間:1993-01-01(中國香港)', '9.', '6'), ('2', 'http://p0.meituan.net/movie/__40191813__4767047.jpg@160w_220h_1e_1c', ' 肖申克的救贖 ', '\n                主演:蒂姆?羅賓斯,摩根?弗里曼,鮑勃?岡頓 \n        ', ' 上映時(shí)間:1994-10-14(美國)', '9.', '5'), ('3', 'http://p0.meituan.net/movie/fc9d78dd2ce84d20e53b6d1ae2eea4fb1515304.jpg@160w_220h_1e_1c', ' 這個(gè)殺手不太冷 ', '\n                主演:讓?雷諾,加里?奧德曼,娜塔莉?波特曼 \n        ', ' 上映時(shí)間:1994-09-14(法國)', '9.', '5'), ('4', 'http://p0.meituan.net/movie/23/6009725.jpg@160w_220h_1e_1c', ' 羅馬假日 ', '\n                主演:格利高利?派克,奧黛麗?赫本,埃迪?艾伯特 \n        ', ' 上映時(shí)間:1953-09-02(美國)', '9.', '1'), ('5', 'http://p0.meituan.net/movie/53/1541925.jpg@160w_220h_1e_1c', ' 阿甘正傳 ', '\n                主演:湯姆?漢克斯,羅賓?懷特,加里?西尼斯 \n        ', ' 上映時(shí)間:1994-07-06(美國)', '9.', '4'), ('6', 'http://p0.meituan.net/movie/11/324629.jpg@160w_220h_1e_1c', ' 泰坦尼克號 ', '\n                主演:萊昂納多?迪卡普里奧,凱特?溫絲萊特,比利?贊恩 \n        ', ' 上映時(shí)間:1998-04-03', '9.', '5'), ('7', 'http://p0.meituan.net/movie/99/678407.jpg@160w_220h_1e_1c', ' 龍貓 ', '\n                主演:日高法子,坂本千夏,糸井重里 \n        ', ' 上映時(shí)間:1988-04-16(日本)', '9.', '2'), ('8', 'http://p0.meituan.net/movie/92/8212889.jpg@160w_220h_1e_1c', ' 教父 ', '\n                主演:馬龍?白蘭度,阿爾?帕西諾,詹姆斯?凱恩 \n        ', ' 上映時(shí)間:1972-03-24(美國)', '9.', '3'), ('9', 'http://p0.meituan.net/movie/62/109878.jpg@160w_220h_1e_1c', ' 唐伯虎點(diǎn)秋香 ', '\n                主演:周星馳,鞏俐,鄭佩佩 \n        ', ' 上映時(shí)間:1993-07-01(中國香港)', '9.', '2'), ('10', 'http://p0.meituan.net/movie/9bf7d7b81001a9cf8adbac5a7cf7d766132425.jpg@160w_220h_1e_1c', ' 千與千尋 ', '\n                主演:柊瑠美,入野自由,夏木真理 \n        ', ' 上映時(shí)間:2001-07-20(日本)', '9.', '3')]
http://m.aloenet.com.cn/news/33955.html

相關(guān)文章:

  • 網(wǎng)站內(nèi)容營銷武漢seo推廣優(yōu)化公司
  • 做網(wǎng)站個(gè)人怎么簽合同長沙全網(wǎng)覆蓋的網(wǎng)絡(luò)推廣
  • 網(wǎng)站設(shè)計(jì)效果專業(yè)樂云seoseo優(yōu)化專員招聘
  • b2b電商網(wǎng)站建設(shè)總推薦榜總點(diǎn)擊榜總排行榜
  • 手機(jī)商城網(wǎng)站如何開發(fā)一個(gè)網(wǎng)站
  • 免費(fèi)的行情軟件網(wǎng)站不用下載站內(nèi)搜索工具
  • 東莞專業(yè)網(wǎng)站設(shè)計(jì)咨詢線上運(yùn)營推廣
  • 網(wǎng)頁游戲排行榜前十名wangyiseo培訓(xùn)班 有用嗎
  • 天河網(wǎng)站建設(shè)制作百度客戶端電腦版下載
  • 怎么做一個(gè)論壇網(wǎng)站關(guān)鍵詞排名網(wǎng)絡(luò)推廣
  • 安卓app開發(fā)框架??趕eo計(jì)費(fèi)
  • 怎么做輪胎網(wǎng)站google官方入口
  • qq刷贊網(wǎng)站怎么做的谷歌瀏覽器網(wǎng)頁版入口
  • 靜態(tài)雙語企業(yè)網(wǎng)站后臺源碼手機(jī)網(wǎng)站建設(shè)
  • 蘋果app如何做ppt模板下載網(wǎng)站一個(gè)產(chǎn)品的宣傳和推廣方案
  • wordpress自適應(yīng)模版seow
  • 網(wǎng)站開發(fā)的基本條件廣州網(wǎng)站優(yōu)化公司
  • 德陽網(wǎng)站建設(shè)重慶seo論壇
  • 畢設(shè)網(wǎng)站可以用axure做嗎優(yōu)化服務(wù)公司
  • sql網(wǎng)站模板拼多多代運(yùn)營公司十大排名
  • 在家做兼職的比較靠譜的網(wǎng)站互聯(lián)網(wǎng)銷售
  • 做地推的網(wǎng)站關(guān)鍵詞排名怎么做上首頁
  • 網(wǎng)絡(luò)廣告網(wǎng)站怎么做百度小說排行榜總榜
  • 微信小程序開發(fā)流程詳細(xì)東莞seo廣告宣傳
  • wordpress媒體庫全選優(yōu)化英文
  • 加強(qiáng)公司內(nèi)部網(wǎng)站建設(shè)佛山網(wǎng)站建設(shè)模板
  • 撫寧建設(shè)局網(wǎng)站網(wǎng)紅推廣接單平臺
  • 網(wǎng)站開發(fā)需要什么配置的電腦優(yōu)化外包服務(wù)公司
  • wordpress修改永久鏈接后無法訪問seo優(yōu)化方案
  • 做網(wǎng)站大概需要多少錢深圳最新疫情