利用requests+BeautifulSoup爬取網頁關鍵資訊
一、requests庫基礎知識
-
Requests的方法
-
requests庫的response物件
二、爬取網站所需資訊
1.訪問網站,如圖1-1所示:
圖1-1
2.點選子頁面,審查網頁元素,部分內容如圖1-2所示:
圖1-2
3.實現程式碼如下:
#coding:utf-8 import requests from bs4 import BeautifulSoup import xlsxwriter #定義網頁內容獲取函式GET_HTML_CONTENT def GET_HTML_CONTENT(url): #定義user_agent,模擬瀏覽器訪問網頁 user_agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) \ Chrome/63.0.3239.132 Safari/537.36' headers = {'User-Agent':user_agent} r = requests.get(url,headers=headers) #獲取網頁內容 html_str = r.text return html_str #定義子網頁URL獲取函式GET_CHILD_URL def GET_CHILD_URL(content): data = BeautifulSoup(content, "html.parser") genre_session = data.find_all('li', attrs={'class': "medium listbox group"}) #定義一個空列表childurl存放類別名稱及子網頁URL childurl = [] for session in genre_session: elements = session.find_all('h3', attrs={'class': "heading"}) for element in elements: genre = {} genre['name'] = element.find('a').text genre['nextpage'] = element.find('a')['href'] childurl.append(genre) return childurl #定義子網頁內容處理函式GET_CHILD_INFO def GET_CHILD_INFO(content,kind): data = BeautifulSoup(content, "html.parser") book_session = data.find_all('ol', attrs={'class': "alphabet fandom index group "}) items = book_session[0].find_all('ul', attrs={'class': "tags index group"}) #定義一個空列表books存放書的類別、名稱及評論數 books = [] for item in items: book = {} book['kinds'] = kind book['name'] = item.find('a').text book['reviews'] = item.text.strip().split('\n')[-1].strip().strip('()') books.append(book) return books if __name__ == '__main__': url = ' content = GET_HTML_CONTENT(url) childurl = GET_CHILD_URL(content) row = 1 col = 0 data = [[u'類別',u'名稱',u'評論數']] workbook = xlsxwriter.Workbook("data.xlsx") worksheet = workbook.add_worksheet() worksheet.write_row(0,0,data[0]) for k in childurl: kind = k['name'] nexturl = k['nextpage'] geturl = ' txt = GET_HTML_CONTENT(geturl) books = GET_CHILD_INFO(txt,kind) for info in books: worksheet.write(row, col, info['kinds']) worksheet.write(row, col + 1, info['name']) worksheet.write(row, col + 2, info['reviews']) row += 1 workbook.close()
4.執行結果如圖1-3所示:
圖1-3
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31541436/viewspace-2219842/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於python爬取網頁Python網頁
- 爬取網頁文章網頁
- C#爬取動態網頁上的資訊:B站主頁C#網頁
- 爬蟲——網頁爬取方法和網頁解析方法爬蟲網頁
- Python筆記:網頁資訊爬取簡介(一)Python筆記網頁
- 利用Python爬蟲獲取招聘網站職位資訊Python爬蟲網站
- Python一鍵爬取你所關心的書籍資訊Python
- zf_利用feapder中的selenium網頁爬取資料網頁
- node:爬蟲爬取網頁圖片爬蟲網頁
- 是時候 Get 新技能了:使用 Java 爬取網頁資訊Java網頁
- ferret 爬取動態網頁網頁
- Puppeteer爬取網頁資料網頁
- selenium 知網爬蟲之根據【關鍵詞】獲取文獻資訊爬蟲
- 常用正規表示式爬取網頁資訊及HTML分析總結網頁HTML
- 初識Scrapy框架+爬蟲實戰(7)-爬取鏈家網100頁租房資訊框架爬蟲
- Python 爬蟲進階篇-利用beautifulsoup庫爬取網頁文章內容實戰演示Python爬蟲網頁
- 爬蟲例項-淘寶頁面商品資訊獲取爬蟲
- 網頁快取相關的HTTP頭部資訊詳解網頁快取HTTP
- python爬取網頁詳細教程Python網頁
- 手把手教你利用爬蟲爬網頁(Python程式碼)爬蟲網頁Python
- python實現微博個人主頁的資訊爬取Python
- 用python怎樣爬網頁呢?其實就是根據URL來獲取它的網頁資訊!Python網頁
- 常用正規表示式爬取網頁資訊及分析HTML標籤總結網頁HTML
- 一起學爬蟲——使用Beautiful Soup爬取網頁爬蟲網頁
- Node JS爬蟲:爬取瀑布流網頁高清圖JS爬蟲網頁
- 爬蟲怎麼根據一個關鍵詞爬取上千張網路圖片爬蟲
- 利用PHP獲取一個頁面上的連結資訊PHP
- 使用requests+BeautifulSoup的簡單爬蟲練習爬蟲
- 如何使用python進行網頁爬取?Python網頁
- python初學-爬取網頁資料Python網頁
- 最簡單的網路圖片的爬取 --Pyhon網路爬蟲與資訊獲取爬蟲
- Java爬蟲-爬取疫苗批次資訊Java爬蟲
- 怎麼利用Python網路爬蟲來提取資訊Python爬蟲
- 蘇寧易購網址爬蟲爬取商品資訊及圖片爬蟲
- 影響網頁渲染的關鍵!網頁
- 爬取js渲染過的頁面(爬取一個婚慶網站為例)JS網站
- 爬取知乎單個網頁問題和回答網頁
- Python爬取網頁的所有內外鏈Python網頁