決定寫乙個小的爬蟲系列,本文是第一篇,講爬蟲的基本原理和簡易示例。
1、單個網頁的簡易爬蟲
**如下:
import urllib
import re
def gethtml(url):
"""通過頁面url獲取其對應的html內容
"""page = urllib.urlopen(url) #開啟頁面
content = page.read() #讀取頁面內容
return content
def getimage(html):
"""regx =r'src="(.+?\.jpg)" pic_ext' #利用正規表示式獲得url
2、爬取多網頁的框架
這裡只講基本思想:第一步是選擇乙個起始頁面,可以直接選擇某個**的主頁作為起始頁面;第二步是分析這個起始頁面的所有鏈結,然後爬取所有鏈結的內容;第三步就是無休無止的遞迴過程,分析爬蟲所及的所有子頁面內部鏈結,如果沒有爬取過,則繼續無休無止的爬取。
借用知乎上謝科兄弟的一段**來說明。設定初始頁面initial_page,爬蟲就從這裡開始獲取頁面,url_queue用來存將要爬取的頁面佇列,seen用來存爬取過的頁面。
import queue
initial_page =""
url_queue =queue.queue()
seen = set()
seen.insert(initial_page)
url_queue.put(initial_page)
while true:
if url_queue.size()>0:
current_url = url_queue.get() #取出隊例中第乙個的url
store(current_url) #把這個url代表的網頁儲存好
for next_url inextract_urls(current_url): #提取把這個url裡鏈向的url
if next_url not in seen:
seen.put(next_url)
url_queue.put(next_url)
else:
break
1Python 爬蟲介紹
python 爬蟲介紹 分類 程式設計技術 一 什麼是爬蟲 爬蟲 一段自動抓取網際網路資訊的程式,從網際網路上抓取對於我們有價值的資訊。二 python爬蟲架構 url管理器 包括待爬取的url位址和已爬取的url位址,防止重複抓取url和迴圈抓取url,實現url管理器主要用三種方式,通過記憶體 ...
Python簡易爬蟲
服務端 from flask import flask,request import os defshow if os.path.exists students.txt st st st fobj open students.txt rt encoding utf 8 while true 讀取一行...
python簡易爬蟲製作
編譯環境 pycharm 4.5.3 python版本 3.5.1 以knewone為例 frombs4importbeautifulsoup importrequests importtime url web data requests.get url 利用requests訪問網頁 soup be...