簡單網頁爬蟲


爬蟲

安裝requests模塊:pip install requests

1.文字爬蟲

import re        	# 導入re模塊
import requests  	# 導入request模塊

response = requests.get('https://ishuo.cn/')  # 獲取網頁內容源代碼
data = response.text 	 # 將網頁內容源代碼存放在文本格式記錄data文件中

result_list = re.findall('<div class="content">(.*?)</div>',data) # 找到要爬取的內容(.*?)前后的共同點寫入列表
'''
<div class="content">與人a1人間的信任,就像是紙片,一旦破損,就不會再回到原來的樣子。</div>
<div class="content">(.*?)</div>


<div class="content">一年奔波,塵緣遇了誰;一句珍重,天涯別了誰;一點靈犀,憑欄憶了.</div>
<div class="content">(.*?)</div>

'''
for result in result_list:
    print(result)  		# 分別讀取

2.圖片爬蟲

import re
import requests


count= 0
for i in range(2,4):
    # 'http://pic.netbian.com/index_{i}.html'跳轉下一頁繼續爬
    respone = requests.get(f'http://pic.netbian.com/index_{i}.html') #獲取網址源代碼內容
    data = respone.text #文本形式記錄

    # print(data)

    result_list = re.findall('src="(.*?)"',data) #從data中獲取所要爬的共同的東西(圖片)

    for result in result_list:
        if result.endswith('jpg'):   # 判斷挑選需要的圖片的格式
              result = f'http://pic.netbian.com{result}' # 圖片的網址
              # print(result)
              img_respone = requests.get(result)  # 獲取圖片的內容(二進制記錄的內容)
              img_name = result.split('/')[-1] # 每次循環分別記錄圖片名稱
              img_data = img_respone.content  # 以字符形式記錄圖片
              # print(img_data)
              with open(img_name,'wb') as f:  # 創建名字為img_name的圖片並打開
                  f.write(img_data)  # 以字符形式寫入圖片
                  f.flush()
              count+=1
              print(f'爬取了{count}張圖片')

3.視頻爬蟲

import re
import requests

response = requests.get('https://www.ku6.com/index') # 獲取網址代碼
data = response.text  # 文本形式記錄網頁代碼

count = 0
# print(data)
result_list = re.findall('<a class="video-image-warp" target="_blank" href="(.*?)">',data) # 找到視頻網址的共同地方

for result in result_list:
    # print(result)
    if result.startswith('/video'):
        # print(result)
        result = f'https://www.ku6.com{result}' # 補滿視頻網址
        # print(result)
        detail_response = requests.get(result)   # 獲取單個視頻網址代碼
        detail_data = detail_response.text      # 文本形式記錄單個視頻網頁代碼
        
# src="https://rbv01.ku6.com/wifi/o_1dab1luo5oao1jnk1bpnk321hevckvs" >< / video >(????)
# flvURL: "https://rbv01.ku6.com/wifi/o_1dab1luo5oao1jnk1bpnk321hevckvs"
# flvURL: "https://rbv01.ku6.com/wifi/o_1dab1luo5udcici1r2vefj1jksbkvs"

        video_url = re.findall('flvURL: "(.*?)"',detail_data) # 找到單個視頻網址代碼
        # print(video_url)
        video_response = requests.get(video_url[0]) # video_url是包含一個元素的列表
        video_data = video_response.content    # 以二進制保存視頻

        video_name = f"{video_url[0].split('/')[-1]}.mp4"  # 編輯視頻名字
        with open(video_name, 'wb') as fw:    # 打開文件
            fw.write(video_data)          # 寫入視頻
            fw.flush()
        count += 1
        print(f'爬取了{count}個視頻')


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM