python3 爬蟲入門

2021-08-07 17:02:23 字數 2852 閱讀 8528

這裡爬取貓眼電影 top100 榜的資訊,作為學習的第乙個demo。

今天開始接觸的python,從爬蟲開始。 語言相對來說比較簡單,環境配置到是花了不少時間。

有個要注意的點是在引入beautifursoup庫的時候會報錯,因為3.x的庫需要引入的是beautifursoup4.

到這一步環境配置基本上ok了,可以開始進入正題了

這裡我跟的乙個教程是

python3網路爬蟲實戰

,知識點比較廣,從乙個爬蟲事例開始.

提取出貓眼電影 top100 榜的電影名稱、時間、評分、等資訊,提取的站點 url 為:提取的結果以檔案形式儲存下來。

新增requests依賴庫,注意不是request

本節我們需要抓取的目標站點為:開啟之後便可以檢視到榜單的資訊,如圖

接下來我們用**實現這個過程,首先抓取第一頁的內容,我們實現乙個 get_one_page() 方法,傳入 url 引數,然後將抓取的頁面結果返回,然後再實現乙個 main() 方法呼叫一下,初步**實現如下:

import requests

def get_one_page(url):

response = requests.get(url)

if response.status_code == 200:

return response.text

return none

def main():

url = ''

html = get_one_page(url)

print(html)

main()

沒接觸過正則的看這裡

隨後將提取的結果寫入檔案,在這裡直接寫入到乙個文字檔案中,通過 json 庫的 dumps() 方法實現字典的序列化,並指定 ensure_ascii 引數為 false,這樣可以保證輸出的結果是中文形式而不是 unicode 編碼,**實現如下:

def write_to_json(content):

with open('result.txt', 'a') as f:

print(type(json.dumps(content)))

f.write(json.dumps(content, ensure_ascii=false,).encode('utf-8'))

def main():

url = ''

html = get_one_page(url)

for item in parse_one_page(html):

write_to_json(item)

if __name__ == '__main__':

for i in range(10):

main(offset=i * 10)

將 main() 方法修改一下,接收乙個 offset 值作為偏移量,然後構造 url 進行爬取,實現如下

def main(offset):

url = '?offset=' + str(offset)

html = get_one_page(url)

for item in parse_one_page(html):

print(item)

write_to_file(item)

完整**

import json

import requests

from requests.exceptions import requestexception

import re

import time

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('.*?board-index.*?>(\d+).*?data-src="(.*?)".*?name">(.*?).*?star">(.*?)

.*?releasetime">(.*?)

' + '.*?integer">(.*?).*?fraction">(.*?).*?', re.s)

items = re.findall(pattern, html)

for item in items:

yield

def write_to_file(content):

with open('result.txt', 'a', encoding='utf-8') as f:

f.write(json.dumps(content, ensure_ascii=false) + '\n')

def main(offset):

url = '?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(offset=i * 10)

time.sleep(1)

python3爬蟲入門

pip install requests2 匯入requests import requests 3 requests方法 requests.get 獲取html網頁的主要方法,對應http的get4 獲取流程 url 使用get方法獲取資料,返回包含網頁資料的response響應,超時時間測試 r...

Python3爬蟲入門 一

python3爬蟲入門 在瀏覽器的位址列輸入url位址,在網頁處右鍵單擊,找到檢查。不同瀏覽器的叫法不同,chrome瀏覽器叫做檢查,firefox瀏覽器叫做檢視元素,但是功能都是相同的 可見即可爬 技術上 違法的 擦邊球 一 url 專業一些的叫法是統一資源定位符 uniform resource...

python3爬蟲快速入門攻略

複製過來的內容 一 什麼是網路爬蟲?1 定義 網路爬蟲 web spider 又被稱為網頁蜘蛛,是一種按照一定的規則,自動地抓取 資訊的程式或者指令碼。2 簡介 網路蜘蛛是乙個很形象的名字。如果把網際網路比喻成乙個蜘蛛網,那麼spider就是在網上爬來爬去的蜘蛛。網路蜘蛛是通過網頁的鏈結位址來尋找網...