python爬蟲入門

2021-07-24 20:56:13 字數 2984 閱讀 6844

這幾天閒的無聊想做乙個爬蟲來爬取一些『正經』**,首先選擇用python作為爬蟲的語言。但是沒有接觸過python怎麼辦呢,只能從頭開始學了。python學習位址這個是廖大神寫的乙個python入門,個人感覺寫的非常不錯,在粗略的學習了一遍之後感覺可以開始我的爬蟲之旅了。

目標:抓取中妹子的儲存在本地

接下來分析一下我們需要做的事

話不多少,直接上**

from urllib import request

from html.parser import htmlparser

import os

class

myhtml

(htmlparser):

path=os.path.join(os.path.abspath('.'),'pic')

ifnot os.path.exists(path):

os.mkdir(path)

defhandle_starttag

(self,tag,attrs):

if tag=='img'

and attrs[0][0]=='pic_type'

and attrs[0][1]=='0':

print(attrs[2][1])

with request.urlopen(attrs[2][1]) as picdate:

with open(os.path.join(self.path,attrs[2][1][-10:]),'wb') as fd:

fd.write(picdate.read())

with request.urlopen('') as f:

if f.status==200:

parser=myhtml()

parser.feed(f.read().decode('utf-8'))

else:

print ('url error')

這一部分都比較簡單,用urllib獲取到頁面資訊後,通過htmlparser對有用的資訊進行提取,然後再使用urllib載入儲存到本地

通過上乙個例子我們已經對爬蟲的爬取過程有了乙個初步的了解,接下來我們需要接受更大的世界了。

目標:首先想到的是通過之前的經驗,先獲取html再從html中載入資訊。

但是通過檢視網頁的原始碼後就發現,原來網頁上的那麼多的妹子的居然一張也沒有在原始碼中顯示。看來原來爬取靜態網頁的方法已經不適用了,我們要使用其他的手段了。

分析js**,找出新增的內容

先讓js執行,我們從js處理完畢的html中獲取我們想要的資訊

還有乙個非常實用的爬蟲工具需要安裝pip install beautifulsoup4,這個是用來提取html元素的。如果不是很了解可以參考這篇文章

好了,準備工作都做好了,可以開工了

from urllib import request

from bs4 import beautifulsoup

from selenium import webdriver

import os

import time

class

myhtml

():def

__init__

(self):

self.host=''

self.path=os.path.join(os.path.abspath('.'),'mm')

ifnot os.path.exists(self.path):

os.mkdir(self.path)

self.browser=webdriver.phantomjs()

self.count=0

defstart

(self,n=false):

ifnot n:

print(self.host)

self.browser.get(self.host)

print('第'+str(self.count)+'項')

print('這個位址有問題')

if self.count<10:#資料太多這裡只取前十項

self.browser.find_element_by_class_name('page-next').click()

# time.sleep(3)

self.start(true)

self.count=self.count+1

if'__main__'==__name__:

myhtml().start()

到這裡我們已經知道了python爬蟲的入門用法。但是我們發現這個爬蟲的效率太低,這時可以用多執行緒提高爬蟲效率。當同乙個ip在乙個**訪問頻率太高時可能會出現驗證碼,這時需要做訪問延遲和使用**ip。爬蟲路還很長,還有許多知識需要學習。

Python爬蟲入門

今天看了菜鳥教程的python教程,準備做個小作業寫個爬蟲程式。其中主要涉及到基本語法 正規表示式 urllib和re兩個模組。import urllib 載入模組 import re defgethtml url page urllib.urlopen url html page.read ret...

python爬蟲入門

初學者要學會基本的爬蟲 先要安裝包requests requests的安裝 開啟這個 在這個 上面有很多 python 的第三方庫檔案,我們按 ctrl f 搜尋很容易找到 requests 如下圖,我們將第乙個資料夾,也就是 requests 資料夾複製到 python 的安裝目錄下的 lib 目...

python爬蟲入門

首先注意,學習新東西,需要迅速的成就感,所以有其他程式語言基礎或者略懂的同志們,可以直接上手寫 不會學 先搞個基本例子,有結果的 之後在繼續深入研究 這是乙個可以直接看到列印結果的菜鳥級爬蟲 開啟連線的基本 可以獲取網頁編碼 其實天下文章一大抄,也能先抄抄 先爽了再說 from urllib imp...