今天,我們來講python反扒,本人寫這些只是為了記錄我的學習,以及供別人參考,無他意,爬蟲本就是黑客技術,但我們要做乙個正直的人!!!
#瀏覽器偽裝
import urllib.request
url=""
#資料夾格式
headers=("user-agent","mozilla/5.0 (windows nt 10.0; wow64; trident/7.0; rv:11.0) like gecko")#標頭(是個元組)
opener=urllib.request.build_opener()
opener.addheaders=[headers]#設定標頭
file=opener.open(url).read()#開啟
fn=open("d:\\python\\標頭.html","wb")
fn.write(file)
fn.close()
''''''
1、爬取新聞首頁
2、得到各新聞鏈結
3、爬取新聞鏈結
4、尋找有沒有framo
5、若有,抓取frame下對應網頁內容
6、若沒有,直接抓取當前頁面
import urllib.request
import re
url=""
opener=urllib.request.build_opener()
opener.addheaders=[hearder]
file=opener.open(url).read()
print(file)
fn=open("d:\\python\\標頭.html","wb")
fn.write(file)
fn.close()
import urllib.request
url=""
urllib.request.urlretrieve(url,"d:\\python\\zhuye.html")
opener=urllib.request.build_opener()
opener.addheaders=[hearder]
file=opener.open(url).read()
fn=open("d:\\python\\zhuye2.html","wb")
fn.write(file)
fn.close()
'''import urllib.request
import re
url=""
#urllib.request.urlretrieve(url,"d:\\python\\zhuye.html")
opener=urllib.request.build_opener()
opener.addheaders=[hearder]
file=opener.open(url).read()
data='.*?'
fp=re.compile(data).findall(str(file))
for i in range(0,len(fp)+1):
opener1=urllib.request.build_opener()
opener1.addheaders=[hearder1]
urllib.request.install_opener(opener1)
glink=urllib.request.urlopen(fp[i]).read().decode("utf-8","ignore")
urllib.request.urlretrieve(glink,"d:\python\python 爬蟲"+str(i)+".html")
#爬去青年網某網頁
import urllib.request
url=""
file=urllib.request.urlopen(url).read().decode("utf-8","ignore")
fn=open("d:\\python\\zhuye5.html","wb")
fn.write(file)
fn.close()
#爬去青年網(有點問題)
import urllib.request
import re
url=""
#urllib.request.urlretrieve(url,"d:\\python\\zhuye.html")
opener=urllib.request.build_opener()
opener.addheaders=[hearder]
file=opener.open(url).read()
data='.*?'
fp=re.compile(data).findall(str(file))
for i in range(0,len(fp)+1):
urllib.request.urlretrieve(fp[i],"d:\python\python 爬蟲"+str(i)+".html")
#使用者**池構建實戰
import urllib.request
import re
import random
uapools = [
]def ua(uapools):
thisua=random.choice(uapools)
headers=("user-agent",thisua)
opner=urllib.request.build_opener()
opner.addheaders = [headers]
#設定為全域性
urllib.request.install_opener(opner)
data = "python"
data1 = "&pn="
data = urllib.request.quote(data) # 轉碼
for i in range(1, 11):
ua(uapools)
url = "" + data + data1 + str((i - 1) * 10)
file = urllib.request.urlopen(url).read().decode("utf-8")
pat = "(.*?)"
rst = re.compile(pat).findall(file)
print(rst)
#ip**池構建的第一種方案(適合於**ip穩定的情況)
fh = open("d:\\python\\python爬蟲\\ip池爬蟲"+str(i), "wb")
fh.write(data)
fh.close()
except exception as err:
print(err)
#ip**池實現的第二種方式 (介面呼叫法,這種方法更適合於**ip不穩定的情況)
fh = open("d:\\python\\python爬蟲\\ip池爬蟲"+str(i), "wb")
fh.write(data)
fh.close()
except exception as err:
print(err)
Python爬蟲 反扒機制與高併發爬蟲設計
解決方案 pip install fake useragent解決策略 通過註冊大量賬戶進行登陸爬取 ua reqhd request.request url,headers req request.urlopen reqhd 使用fake useragent 模組 from fake userag...
python 爬蟲小疑問 (未完待續)
q 1 web crawling和web scraping的區別在 a 1 簡單來說,web crawling指的僅僅是使用爬蟲機械人來索引網頁,檢視網頁的資訊,類似搜尋引擎的工作 而web scraping涉及到資料提取,儲存,計算等技術。scrapy 是web scrapying常用的乙個框架。...
Python爬蟲之爬蟲概述
知識點 模擬瀏覽器,傳送請求,獲取響應 網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬客戶端 主要指瀏覽器 傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。知識點 了解 爬蟲的概念 爬蟲在網際網路世界中有很多的作用,比如 資料採集 抓取招聘 的招聘資訊 資料分析 挖掘...