1.爬蟲概述
- 應(yīng)用場景:當(dāng)需要抓取網(wǎng)頁上一些有價(jià)值的稽亏、大量的壶冒、重復(fù)有規(guī)律的信息時(shí),需要使用爬蟲截歉,類似一種人工腳本胖腾。這里就先不講一些比較高深的比如:偽裝報(bào)頭,更改ip等瘪松。來先原原本本的講一講最基本的原理吧咸作。
1.1 抓取網(wǎng)頁
- 使用urllib.request.urlopen(url).read()方法進(jìn)行對網(wǎng)頁代碼的讀取。
import urllib.request
url="http://www.baidu.com"
page=urllib.request.urlopen(url).read()
print(page)
urllib.request.urlopen(url) 用來打開網(wǎng)頁
read() 用來讀取網(wǎng)頁
輸出的結(jié)果是網(wǎng)頁代碼宵睦。
1.2 書寫需要抓取信息的正則表達(dá)式
- 通過 re.findall('正則表達(dá)式',文本)找到所需的信息性宏。
import urllib.request
import re
url="http://www.baidu.com"
page=urllib.request.urlopen(url).read()
page=page.decode('utf8') #轉(zhuǎn)碼
title=re.findall('<title>(.*?)</title>',page,re.S)#re.S表示.可以代表\n
print(title)
輸出為:
['百度一下,你就知道']
1.3 總結(jié)表
- 爬蟲是很簡單的原理状飞,我們來做一個(gè)實(shí)踐吧~
方法 | 所需庫 | 作用 |
---|---|---|
urllib.request.urlopen() | urllib.request | 打開網(wǎng)頁 |
read() | urllib.request | 讀取網(wǎng)頁代碼 |
re.findall('正則表達(dá)式',文本) | re | 使用正則表達(dá)式找所需信息 |
下面是個(gè)例子也是我寫的
我是例子