【3月24日】Requests+正則表示式抓取貓眼電影Top100
本次實驗爬蟲任務工具較為簡單,主要是熟悉正則表示式的匹配:
pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?integer">(.*?)</i>.*?fraction">(.*?)</i>', re.S)
以上的正則表示式中,分別匹配:
電影的id(\d+),圖片的地址(……src=”(.?)”.
`yield {
'index': item[0],
'image': item[1],
'title': item[2],
'actor' : item[3].strip()[3:],
'time': item[4].strip()[5:],
'score': item[5]+item[6]
}`
得到上述的格式化資料之後,就可以寫入txt檔案進行持久化儲存了。整個程式碼如下:
import json
import requests
from requests.exceptions import RequestException
import re
def get_one_page(url):
try:
response = requests.get(url)
if response.status_code == 200:
return response.text
return None
except RequestException:
return None
# 解析網頁
def parse_one_page(html):
pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>.*?data-src="(.*?)".*?name"><a'
'.*?>(.*?)</a>.*?star">(.*?)</p>.*?releasetime">(.*?)</p>.*?in'
'teger">(.*?)</i>.*?fraction">(.*?)</i>', re.S)
items = re.findall(pattern, html)
print(items)
# 將解析的結果格式化
for item in items:
yield {
'index': item[0],
'image': item[1],
'title': item[2],
'actor': item[3].strip()[3:],
'time': item[4].strip()[5:],
'score': item[5]+item[6]
}
def write_to_file(content):
with open("result.txt", 'a', encoding='utf-8') as f:
f.write(json.dumps(content, ensure_ascii=False)+'\n')
f.close()
# 以offset作為引數,實現分頁抓取資料
def main(offset):
url = "http://maoyan.com/board/4?offset=" + str(offset)
html = get_one_page(url)
for item in parse_one_page(html):
print(item)
write_to_file(item)
if __name__ == '__main__':
for i in range(10):
main(i*10)
最終效果如下圖:
相關推薦
【3月24日】Requests+正則表示式抓取貓眼電影Top100
本次實驗爬蟲任務工具較為簡單,主要是熟悉正則表示式的匹配: pattern = re.compile('<dd>.*?board-index.*?>(\d+)</i>
【Python】Requests+正則表示式 爬取貓眼電影TOP100
1.先獲取到一個頁面,狀態碼200是成功返回 def get_one_page(url): # 獲取一個頁面 try: response = requests.get(url) if response.status_cod
Python爬蟲之requests+正則表示式抓取貓眼電影top100以及瓜子二手網二手車資訊(四)
{'index': '1', 'image': 'http://p1.meituan.net/movie/[email protected]_220h_1e_1c', 'title': '霸王別姬', 'actor': '張國榮,張豐毅,鞏俐', 'time': '1993-01-01', 'sc
Python爬蟲實戰之Requests+正則表示式爬取貓眼電影Top100
import requests from requests.exceptions import RequestException import re import json # from multiprocessing import Pool # 測試了下 這裡需要自己新增頭部 否則得不到網頁 hea
Requests+正則表示式爬取貓眼電影top100
#!/usr/bin/python #coding=utf-8 # import requests from requests.exceptions import RequestException import re import json from multiproces
python網路爬蟲例項:Requests+正則表示式爬取貓眼電影TOP100榜
一、前言 最近在看崔慶才先生編寫的《Python3網路爬蟲開發實戰》這本書,學習了requests庫和正則表示式,爬取貓眼電影top100榜單是這本書的第一個例項,主要目的是要掌握requests庫和正則表示式在實際案例中的使用。 二、開發環境 執行平
用Requests和正則表示式爬取貓眼電影(TOP100+最受期待榜)
目標站點分析 目標站點(貓眼榜單TOP100): 如下圖,貓眼電影的翻頁offset明顯在URL中,所以只要搞定第一頁的內容加上一個迴圈加上offset就可以爬取前100。 流程框架 1、抓取單頁內容 利用requests請求目標站點,得到單個網頁HTML程式碼,返回結
自學python爬蟲(四)Requests+正則表示式爬取貓眼電影
前言 學了requests庫和正則表示式之後我們可以做個簡單的專案來練練手咯!先附上專案GitHub地址,歡迎star和fork,也可以pull request哦~ 地址:https://github.com/zhangyanwei233/Maoyan100.git 正文開始哈哈哈
requests正則表示式爬取貓眼電影
目標 通過Request+正則表示式爬取貓眼電影TOP100電影的排名、名字、電影封面圖片、主演、上映時間、貓眼評分,將爬取的內容寫入檔案中。 流程框架 進入到貓眼電影TOP100的頁面,此時的URL為http://maoyan.com/board/4,點選第2頁,會發現此時的URL為http://ma
14-Requests+正則表示式爬取貓眼電影
'''Requests+正則表示式爬取貓眼電影TOP100''''''流程框架:抓去單頁內容:利用requests請求目標站點,得到單個網頁HTML程式碼,返回結果。正則表示式分析:根據HTML程式碼分析得到電影的名稱、主演、上映時間、評分、圖片連結等資訊。儲存至檔案:通過檔案的形式儲存結果,每一部電影一個結
Requests+正則表示式爬取貓眼TOP100電影
需要著重學習的地方:(1)爬取分頁資料時,url連結的構建(2)儲存json格式資料到檔案,中文顯示問題(3)執行緒池的使用(4)正則表示式的寫法 import requests from requests.exceptions import RequestException import re im
Python爬蟲-利用正則表示式爬取貓眼電影
利用正則來爬去貓眼電影 =================================== ===================================================== 1 ''' 2 利用正則來爬去貓眼電影 3 1. url: http://maoya
【3月6日】原始碼閱讀日記(1):HashMap
前言 首先,致敬下幾位authors @author Doug Lea @author Josh Bloch @author Arthur van Hoff @author Neal Gafter HashMap是Java程式設計師使用頻率最高
requests+正則表示式爬取豆瓣讀書top250
簡單的python練手專案,通過rquests庫請求得到豆瓣top250網頁原始碼,並通過正則表示式匹配得到對應資訊-書名,作者資訊,評分以及簡介。 網站的URL為’https://book.douban.com/top250?start=0’,但我們拉到底部發現250本讀書的資訊被分成了1
Python爬蟲之使用正則表示式抓取資料
目錄 匹配標籤 匹配title標籤 a標籤 table標籤 匹配標籤裡面的屬性 匹配a標籤裡面的URL 匹配img標籤裡的 src 相關文章:Linux中的正則表示式 &nbs
利用正則表示式抓取網頁上郵箱的小程式
使用方法:把自己在網上儲存下來含有郵箱的網頁所在硬碟的路徑,拷到對應位置即可,此程式用eclipse-luna-64位測試已通過 程式最終來源為馬上兵老師釋出的視訊及原始碼,本人是用來學習,並和大家分享 視訊連結:http://pan.baidu.com/s/1jIE5qC
正則表示式抓取頁面內所有的超連結
因為最近要做一個類似專業搜尋引擎的東西,需要抓取網頁的所有超連結。 大家幫忙測試一下子,下面的程式碼是否可以針對所有的標準超連結。 //如果要轉載本文請註明出處,免的出現版權紛爭,我不喜歡看到那種轉載了我的作品卻不註明出處的人 Seven{See7di#Gmail.com}測試程式碼如下: <?ph
使用正則表示式抓取網易雲課堂中的資料
要抓取資料的頁面如下: 程式碼: package com.url; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.
php curl 正則表示式 抓取微博使用者資訊練習
兩個月前學習php curl時做的練習,今天週末整理了一下。 程式封裝了四個類,主要使用了curl來抓取微博使用者的個人資訊頁面以及關注的使用者頁面,然後通過分析頁面結構使用正則表示式以及php的字串函式擷取所需的資訊。 Curl類:用於進行資料庫操作;
C# 正則表示式抓取網頁上某個標籤的內容,並替換連結地址和圖片地址
#region 獲取第三方網站內容 //獲取其他網站網頁內容的關鍵程式碼 WebRequest request = WebRequest.Create(第三方的網站地址); WebResponse response = requ