import urllib.request as request
src=!["https://www.ptt.cc/bbs/movie/index.html"]
with request.urlopen(src) as response:
data=response.read().decode('utf-8')
print(data)
在這種情況下直接對網路進行連接,一般情況下會被服務器拒絕出現這樣的報錯“”“urllib.error.HTTPError: HTTP Error 403: Forbidden”“”
這種情況是網站認為你不是普通用戶操作,所以我們需要模擬普通用戶,
一般用戶使用會給網站發送一個這總系統和瀏覽器的資訊,所以我們需要模擬,也要向網站發送一個這樣的資訊,
#抓取PTT電影版的網頁原始碼(HTML)
import urllib.request as req
url="https://www.ptt.cc/bbs/movie/index.html"
#建立一個Request物件,附加Request Headers 的資訊
request=req.Request(url,headers={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36"
})
with req.urlopen(request) as response:
data=response.read().decode("utf-8")
#資料決議
import bs4
root=bs4.BeautifulSoup(data,"html.parser")
titles=root.find_all("div",class_="title")
print(titles)
下邊這行代碼就可以爬取ptt網站的題目資訊了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/253492.html
標籤:python
