關於python爬取網頁
import urllib.request
from bs4 import BeautifulSoup
import xlwt
import re
def main():
# 爬取網頁
baseurl = '
datalist = getData(baseurl)
savepath = ' 豆瓣電影 Top250.xls'
# 儲存資料
saveData(datalist,savepath)
# askURL(")
# 影片詳情的規則
findLink = re.compile(r'<a class="" href="(.*?)">') # 建立從正規表示式,表示規則
findImgSrc = re.compile(r'<img.*src="(.*?)"', re.S) # 讓換行符匹配到字元中
# 影片的片名
finTitle = re.compile(r'<span>(.*)</span>')
# 影片的評分
findReating = re.compile(r'<span property="v:average">(.*)</span>')
# 找到評價人數
findJudge = re.compile(r'<span>(\d*) 人評價 </span>')
# 找到概況
findInq = re.compile(r'<span>(.*)</span>')
# 找到影片的相關內容
findBb = re.compile(r'<p class="">(.*?)</p>', re.S)#re.S 忽視換行符
第二部分:爬取網頁。
def getData(baseurl):
datalist = []
for i in range(0, 10):
url = baseurl + str(i*25)
html = askURL(url) # 儲存獲取到的網頁原始碼
# 對網頁進行解析
soup = BeautifulSoup(html, 'html.parser')
for item in soup.find_all('div', class_="item"): # 查詢符合要求的字串 形成列表
#print(item) # 測試檢視電影資訊
data = []
item = str(item)
link = re.findall(findLink, item)[0] #re 庫用來查詢指定的字串
data.append(link)
imgSrc = 外匯跟單(findImgSrc, item)[0]
data.append(imgSrc) # 新增圖片
titles = re.findall(finTitle, item) #
if (len(titles) == 2):
ctitle = titles[0] # 新增中文名
data.append(ctitle)
otitle = titles[1].replace("/", "") #replace("/", "") 去掉無關的符號
data.append(otitle) # 新增英文名
else:
data.append(titles[0])
data.append(' ')# 外國名字留空
rating = re.findall(findReating, item)[0] # 新增評分
data.append(rating)
judgeNum = re.findall(findJudge,item) # 評價人數
data.append(judgeNum)
inq = re.findall(findInq, item) # 新增概述
if len(inq) != 0:
inq = inq[0].replace(".", "") # 去掉句號
data.append(inq)
else:
data.append(" ") # 留空
bd = re.findall(findBb,item)[0]
bd = re.sub('<br(\s+)?/>(\s+)?',' ', bd) # 去掉 br 後面這個 bd 表示對 bd 進行操作
bd = re.sub('/', ' ', bd) # 替換 /
data.append(bd.strip()) # 去掉前後的空格 strip()
datalist.append(data) # 把處理好的一部電影放入 datalist 當中
return datalist
第三部分:得到一個指定的url 資訊。
# 得到指定的一個 url 網頁資訊
def askURL(url):
head = {
"User-Agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Mobile Safari/537.36"
}
request = urllib.request.Request(url,headers=head) # get 請求不需要其他的的,而 post 請求需要 一個 method 方法
html = ""
try:
response = urllib.request.urlopen(request)
html = response.read().decode('utf-8')
# print(html)
except Exception as e:
if hasattr(e,'code'):
print(e.code)
if hasattr(e,'reason'):
print(e.reason)
return html
第四部分:儲存資料
# 3: 儲存資料
def saveData(datalist,savepath):
book = xlwt.Workbook(encoding="utf-8", style_compression=0)
sheet = book.add_sheet(' 豆瓣電影 Top250', cell_overwrite_ok=True)
col = (' 電影詳情連結 ', ' 圖片連結 ', ' 影片中文名 ', ' 影片外國名 ', ' 評分 ', ' 評價數 ', ' 概況 ', ' 相關資訊 ')
for i in range(0,8):
sheet.write(0,i,col[i]) # 列名
for i in range(0,250):
print(" 第 %d 條 "%i)
data = datalist[i]
for j in range(0,8):
sheet.write(i+1,j,data[j])
book.save(savepath) # 儲存
if __name__ == '__main__':
main()
print(" 爬取完畢 ")
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2762220/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python爬取網頁詳細教程Python網頁
- 爬取網頁文章網頁
- 如何使用python進行網頁爬取?Python網頁
- python初學-爬取網頁資料Python網頁
- 爬蟲——網頁爬取方法和網頁解析方法爬蟲網頁
- Python爬取網頁的所有內外鏈Python網頁
- 網頁用python爬取後如何解析網頁Python
- 手機版python爬取網頁書籍Python網頁
- 利用requests+BeautifulSoup爬取網頁關鍵資訊網頁
- python爬蟲---網頁爬蟲,圖片爬蟲,文章爬蟲,Python爬蟲爬取新聞網站新聞Python爬蟲網頁網站
- node:爬蟲爬取網頁圖片爬蟲網頁
- python 爬蟲如何爬取動態生成的網頁內容Python爬蟲網頁
- Python筆記:網頁資訊爬取簡介(一)Python筆記網頁
- Python應用開發——爬取網頁圖片Python網頁
- Python 爬取網頁資料的兩種方法Python網頁
- ferret 爬取動態網頁網頁
- Puppeteer爬取網頁資料網頁
- Python網路爬蟲之爬取淘寶網頁頁面 MOOC可以執行的程式碼Python爬蟲網頁
- python爬取網圖Python
- python爬取換頁_爬蟲爬不進下一頁了,怎麼辦Python爬蟲
- python爬取網頁的時11004錯誤Python網頁
- Python爬蟲爬取美劇網站Python爬蟲網站
- 不會Python爬蟲?教你一個通用爬蟲思路輕鬆爬取網頁資料Python爬蟲網頁
- python爬取58同城一頁資料Python
- Python 爬取網頁中JavaScript動態新增的內容(一)Python網頁JavaScript
- Python 爬取網頁中JavaScript動態新增的內容(二)Python網頁JavaScript
- python 爬蟲網頁登陸Python爬蟲網頁
- Python網路爬蟲第三彈《爬取get請求的頁面資料》Python爬蟲
- Python爬蟲教程-13-爬蟲使用cookie爬取登入後的頁面(人人網)(下)Python爬蟲Cookie
- Python爬蟲教程-12-爬蟲使用cookie爬取登入後的頁面(人人網)(上)Python爬蟲Cookie
- python網路爬蟲--爬取淘寶聯盟Python爬蟲
- Python爬蟲—爬取某網站圖片Python爬蟲網站
- 【Python爬蟲】正則爬取趕集網Python爬蟲
- 一起學爬蟲——使用Beautiful Soup爬取網頁爬蟲網頁
- Node JS爬蟲:爬取瀑布流網頁高清圖JS爬蟲網頁
- python例項,python網路爬蟲爬取大學排名!Python爬蟲
- Python 爬蟲進階篇-利用beautifulsoup庫爬取網頁文章內容實戰演示Python爬蟲網頁
- Python爬蟲之網頁圖片Python爬蟲網頁