1.簡單爬取百度網頁內容:
爬取百度網頁源代碼:
import requests
r=requests.get("http://www.baidu.com")
r.status_code
r.encoding
r.encoding=r.apparent_encoding
r.text
結果展示:
2.爬取網頁的通用代碼框架:(這裏繼續選用百度網頁)
爬取網頁的通用代碼框架
import requests
def getHTMLText(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return "產生異常"
if __name__ =="__main__":
url="http://www.baidu.com"
print(getHTMLText(url))
爬取結果展示
3.京東商品頁面爬取
京東商品頁面爬取
import requests
url="http://item.jd.com/2967929.html"
try:
r=requests.get(url)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text[:1000])
except:
print("爬取失敗")
爬取結果展示:
4.亞馬遜商品頁面的爬取
亞馬遜商品爬取源代碼
import requests
url="https://www.amazon.cn/gp/product/B01M8L5Z3Y"
try:
kv={'user-agent':'Mozilla/5.0'}
r=requests.get(url,headers=kv)
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text[1000:2000])
except:
print("爬取失敗")
結果展示:
5.百度搜索全代碼
百度搜索全代碼
import requests
keyword="Python"
try:
kv={'wd':'keyword'}
r=requests.get("http://www.baidu.com/s",params=kv)
print(r.request.url)
r.raise_for_status()
print(len(r.text))
except:
print("爬取失敗!")
結果展示:
6.360搜索全代碼
360搜素全代碼
import requests
keyword="Python"
try:
kv={'q':keyword}
r=requests.get("http://www.so.com/s",params=kv)
print(r.request.url)
r.raise_for_status()
print(len(r.text))
except:
print("爬取失敗")
結果展示:
7. 圖片爬取全代碼:
爬取高清圖片源代碼
import requests
import os
url="http://image.nationalgeographic.com.cn/2017/0211/20170211061910157.jpg"
root="D://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("爬取失敗")
8.用requests庫獲取源代碼:
獲取源代碼
import requests
r=requests.get("http://python123.io/ws/demo.html")
r.text
demo=r.text
from bs4 import BeautifulSoup
soup=BeautifulSoup(demo,"html.parser")
print(soup.prettify())
soup.title
爬取結果顯示: