爬蟲實例
1.爬取京東商品頁面
- 源代碼
import requests
url = "https://item.jd.com/7652029.html"
try:
r = requests.get(url)
#print(r.status_code)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text[:1000])
except:
print("爬取失敗")
2.爬取亞馬遜商品頁面
- 源代碼
模擬瀏覽器
import requests
url = "https://www.amazon.cn/dp/B07NQCSZHQ"
try:
kv = {'user-agent':'Mozilla/5.0'} #Mozilla/5.0 是瀏覽器標識
r = requests.get(url, headers= kv)
# print(r.status_code)
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text[:1000])
except:
print("爬取失敗")
3.360/百度搜索關鍵詞提交
- 360的關鍵詞接口:
http://www.so.com/s?q=keyword - 百度的關鍵詞接口:
http://www.baidu.com/s?wd=keyword
- 源代碼
360搜索關鍵字(Python)
import requests
keyword = "Python"
kv = {'q':keyword}
try:
r = requests.get("http://www.so.com/s", params= kv)
print(r.request.url)
r.raise_for_status()
print(len(r.text))
except:
print("爬取失敗")
- 輸出結果
https://www.so.com/s?q=Python
347073
- 百度搜索關鍵字
百度搜索關鍵字時,會跳轉到百度安全認證,認證通過後,纔可以展示搜索結果。
4.網絡圖片的爬取和存儲
- 源代碼
import requests
import os
url = "https://c-ssl.duitang.com/uploads/item/201208/30/20120830173930_PBfJE.thumb.700_0.jpeg"
root = "E://pics//"
path = root + url.split('/')[-1] # '/'分割的最後一部分,命名圖片
try:
if not os.path.exists(root): #判斷根目錄是否存在,不存在時,自行創建
os.mkdir(root)
if not os.path.exists(path):
r = requests.get(url)
with open(path, 'wb') as f:
f.write(r.content)
f.close()
print("文件保存成功")
else:
print("文件已存在")
except:
print("爬取失敗")
5.IP地址歸屬地的自動查詢
IP查詢網站:www.ip138.com
http://m.ip138.com/ip.asp?ip=ipaddress
- 源代碼
import requests
url = "http://m.ip138.com/ip.asp?ip="
try:
r = requests.get(url+'202.204.80.112')
r.raise_for_status()
r.encoding = r.apparent_encoding
print(r.text[-500:])
except:
print("爬取失敗")
- 輸出結果
value="查詢" class="form-btn" />
</form>
</div>
<div class="query-hd">ip138.com IP查詢(搜索IP地址的地理位置)</div>
<h1 class="query">您查詢的IP:202.204.80.112</h1><p class="result">本站主數據:北京市海淀區 北京理工大學 教育網</p><p class="result">參考數據一:北京市 北京理工大學</p>
</div>
</div>
<div class="footer">
<a href="http://www.miitbeian.gov.cn/" rel="nofollow" target="_blank">滬ICP備10013467號-1</a>
</div>
</div>
<script type="text/javascript" src="/script/common.js"></script></body>
</html>
北京理工大學主頁