正規表示式詳細介紹
import urllib2
import random
#瀏覽器資訊
"mozilla/5.0 (windows; u; windows nt 6.1; en-gb; rv:1.9.1.17) gecko/20110123 (like firefox/3.x) seamonkey/2.0.12",
"mozilla/5.0 (windows nt 5.2; rv:10.0.1) gecko/20100101 firefox/10.0.1 seamonkey/2.7.1",
"mozilla/5.0 (macintosh; u; mac os x mach-o; en-us; rv:2.0a) gecko/20040614 firefox/3.0.0 ",
"mozilla/5.0 (macintosh; u; ppc mac os x 10.5; en-us; rv:1.9.0.3) gecko/2008092414 firefox/3.0.3",
"mozilla/5.0 (macintosh; u; intel mac os x 10.5; en-us; rv:1.9.1) gecko/20090624 firefox/3.5",
"mozilla/5.0 (macintosh; u; intel mac os x 10.6; en-us; rv:1.9.2.14) gecko/20110218 alexa*******/alxf-2.0 firefox/3.6.14",
"mozilla/5.0 (macintosh; u; ppc mac os x 10.5; en-us; rv:1.9.2.15) gecko/20110303 firefox/3.6.15",
"mozilla/5.0 (macintosh; intel mac os x 10.6; rv:2.0.1) gecko/20100101 firefox/4.0.1"]
#**ip
proxies = ['116.213.98.6:8080','122.114.31.177:808','121.31.195.145:8123','125.118.147.0:808']
#設定請求物件
req = urllib2.request('')
# 設定請求頭部資訊
req.add_header('user-agent',random.choice(user_agents))
# 設定**ip位址
proxy_support = urllib2.proxyhandler()
opener = urllib2.build_opener(proxy_support)
urllib2.install_opener(opener)
# 2.獲取訪問**後,**返回的物件
res = urllib2.urlopen(req)
# 3.處理瀏覽器返回的物件
# 3.1如讀取
print(res.read())
#檢視dir,列印url位址,訪問資訊msg,狀態碼code
# print(dir(res))
# print(res.url) #
# print(res.msg) #ok
# print(res.code) #200
#設定乙個函式,只用來獲取網頁內容
import urllib2
import random
import json
import re
count = 0
defgethtml
(url):
user_agents = [
"mozilla/5.0 (windows; u; windows nt 6.1; en-gb; rv:1.9.1.17) gecko/20110123 (like firefox/3.x) seamonkey/2.0.12",
"mozilla/5.0 (windows nt 5.2; rv:10.0.1) gecko/20100101 firefox/10.0.1 seamonkey/2.7.1",
"mozilla/5.0 (macintosh; u; mac os x mach-o; en-us; rv:2.0a) gecko/20040614 firefox/3.0.0 ",
"mozilla/5.0 (macintosh; u; ppc mac os x 10.5; en-us; rv:1.9.0.3) gecko/2008092414 firefox/3.0.3",
"mozilla/5.0 (macintosh; u; intel mac os x 10.5; en-us; rv:1.9.1) gecko/20090624 firefox/3.5",
"mozilla/5.0 (macintosh; u; intel mac os x 10.6; en-us; rv:1.9.2.14) gecko/20110218 alexa*******/alxf-2.0 firefox/3.6.14",
"mozilla/5.0 (macintosh; u; ppc mac os x 10.5; en-us; rv:1.9.2.15) gecko/20110303 firefox/3.6.15",
"mozilla/5.0 (macintosh; intel mac os x 10.6; rv:2.0.1) gecko/20100101 firefox/4.0.1"]
# **ip
proxies = ['116.213.98.6:8080','122.114.31.177:808','121.31.195.145:8123','125.118.147.0:808']
# 設定請求物件
req = urllib2.request(url)
# 設定請求頭部資訊
req.add_header('user-agent', random.choice(user_agents))
# 設定**ip位址
proxy_support = urllib2.proxyhandler()
opener = urllib2.build_opener(proxy_support)
urllib2.install_opener(opener)
# 訪問並獲取服務端返回的物件
try:
res = urllib2.urlopen(req)
html = res.read()
return html
except:
global count
count+=1
if(count>20):
print count,json.dumps('請檢查網路設定',ensure_ascii=false)
return
gethtml(url) #自己執行自己
douban = gethtml('')
print str(douban)
reg = re.compile('href=".*"') #查詢網頁所有帶href欄位的內容
print re.search(reg,douban)
print re.findall(reg,douban)
import urllib2
req = urllib2.request('')
try:
res = urllib2.urlopen(req)
except urllib2.httperror,e: #httperror是urlerror的子類
print dir(e)
print e.code #403
print e.msg #forbidden
print e.reason #forbidden
except urllib2.urlerror, e: #urlerror包含httperror
print e.reason
print
'over'
Python網路爬蟲 一 什麼是爬蟲
網路爬蟲 web crawler 一般被用來採集網路上的資訊,也叫做網路鏟 web scraper 網路蜘蛛 web spider 顧名思義,網路爬蟲就是先爬到要採集的網頁上,然後對資料資訊進行採集。1.了解爬蟲的工作原理 2.http抓取工具 3.高階功能 網際網路最早是作為科研資訊的一種交流方式...
Python網路爬蟲基礎 一
2.urllib和urllib2模組使用 3.requests模組使用 4.python三種網頁內容抓取方法 當瀏覽器向web伺服器發出請求時,它向伺服器傳遞了乙個資料塊,也就是請求信 息,http請求資訊由3部分組成 請求方法 uri 協議 版本 請求頭 request header 請求正文 右...
python網路爬蟲 入門(一)
1.爬蟲程式是dt data technology,資料技術 收集資訊的基礎,爬取到目標 的資料後,就可以分析和建立應用了。2.python是乙個簡單 有效的語言,爬蟲所需要的獲取 儲存 整理等流程都可以使用python系統的實現。此外,絕大部分計算機都可以輕鬆的直接使用python語言和安裝pyt...