Python獲取網(wǎng)頁(yè)指定內容(BeautifulSoup工具的使用方式)
優(yōu)采云 發(fā)布時(shí)間: 2020-08-10 14:19Python用做數據處理還是相當不錯的,如果你想要做爬蟲(chóng),Python是挺好的選擇,它有很多早已寫(xiě)好的類(lèi)包,只要調用,即可完成好多復雜的功能,此文中所有的功能都是基于BeautifulSoup這個(gè)包。
1 Pyhton獲取網(wǎng)頁(yè)的內容(也就是源代碼)
page = urllib2.urlopen(url)
contents = page.read()
#獲得了整個(gè)網(wǎng)頁(yè)的內容也就是源代碼
print(contents)
url代表網(wǎng)址,contents代表網(wǎng)址所對應的源代碼,urllib2是須要用到的包,以上三句代碼才能獲得網(wǎng)頁(yè)的整個(gè)源代碼
2 獲取網(wǎng)頁(yè)中想要的內容(先要獲得網(wǎng)頁(yè)源代碼,再剖析網(wǎng)頁(yè)源代碼,找所對應的標簽,然后提取出標簽中的內容)
2.1 以豆瓣影片排行為反例
網(wǎng)址是,進(jìn)入網(wǎng)址后就出現如下的圖
現在我須要獲得當前頁(yè)面的所有影片的名子,評分,評價(jià)人數,鏈接
由上圖畫(huà)白色圓圈的是我想得到的內容,畫(huà)*敏*感*詞*橫線(xiàn)的為所對應的標簽,這樣就剖析完了,現在就是寫(xiě)代碼實(shí)現,Python提供了好多種方式去獲得想要的內容,在此我使用BeautifulSoup來(lái)實(shí)現,非常的簡(jiǎn)單
#coding:utf-8
'''''
@author: jsjxy
'''
import urllib2
import re
from bs4 import BeautifulSoup
from distutils.filelist import findall
page = urllib2.urlopen('http://movie.douban.com/top250?format=text')
contents = page.read()
#print(contents)
soup = BeautifulSoup(contents,"html.parser")
print("豆瓣電影TOP250" + "\n" +" 影片名 評分 評價(jià)人數 鏈接 ")
for tag in soup.find_all('div', class_='info'):
# print tag
m_name = tag.find('span', class_='title').get_text()
m_rating_score = float(tag.find('span',class_='rating_num').get_text())
m_people = tag.find('div',class_="star")
m_span = m_people.findAll('span')
m_peoplecount = m_span[3].contents[0]
m_url=tag.find('a').get('href')
print( m_name+" " + str(m_rating_score) + " " + m_peoplecount + " " + m_url )
控制臺輸出,你也可以寫(xiě)入文件中




