python爬蟲之Request,BeautifulSoup進階
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import requests from bs4 import BeautifulSoup from datetime import datetime import re res = requests.get('http://news.sina.com.cn/o/2017-12-01/doc-ifyphtze3020095.shtml') res.encoding = 'utf-8' #列印文章標題 soup = BeautifulSoup(res.text , 'html.parser') print(soup.select('#artibodyTitle')[0].text) #獲取文章發表時間 timesource = soup.select('#navtimeSource')[0].contents[0].strip() #獲取文章來源 #wsource = soup.select('#navtimeSource')[0].contents[1].text.strip() wsource = soup.select('#navtimeSource span a')[0].text #獲取文章來源連結 wa = soup.select('#navtimeSource span a')[0].get('href') #時字串轉時間格式 dt = datetime.strptime(timesource,'%Y年%m月%d日%H:%M') #時間格式轉字串 #dtstr = dt.strftime('%Y-%m-%d %H:%M:%S') #將時間,來源,連結依次列印 print(dt,wsource,wa) #取得文章內容 #方式1 ''' article = [] for p in soup.select('#artibody p')[:-1]: article.append(p.text) print(' '.join(article)) ''' #方式2 print(' '.join(p.text.strip() for p in soup.select('#artibody p')[:-1])) #選取新聞編輯者名稱 print(soup.select('.article-editor')[0].text) #print(soup.select('.article-editor')[0].text.lstrip('責任編輯:')) #剖析新聞識別符號 #方法1 newsurl = 'http://news.sina.com.cn/o/2017-12-01/doc-ifyphtze3020095.shtml' newsid = newsurl.split('/')[-1].rstrip('.shtml').lstrip('doc-i') print('newsid =',newsid) ''' #方法2 m = re.search('doc-i(.+).shtml',newsurl) print(m.group(0)) print(m.group(1)) '''
結果展示:
相關推薦
python爬蟲之Request,BeautifulSoup進階
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import requests from bs4 import BeautifulSoup from datetime import datetime import re re
Python爬蟲從入門到進階(1)之Python概述
支持 color python運行 nbsp python自動化 人工智 應用領域 翻譯 接下來 1.計算機語言概述 (1).語言:交流的工具,溝通的媒介 (2).計算機語言:人跟計算機交流的工具 (3).Python是計算機語言的一種 2.Python編程語言 代碼:
Python爬蟲從入門到進階(2)之爬蟲簡介
法律 進階 爬蟲 哪裏 back 目標 ack 數據分析 取數 1.爬蟲入門:使用代碼模擬真實用戶發送網絡請求批量獲取數據1).爬蟲價值: 1.買賣數據(高端領域特別貴) 2.數據分析(出分析報告) 3.流量 4.阿裏指數,百度指數2).合法性:灰色
Python爬蟲從入門到進階(2)之urllib庫的使用
windows 6.0 賬號 高級 manager cname 4.5 clr python爬蟲 1.什麽是Urllib(官網地址:https://docs.python.org/3/library/urllib.html#module-urllib) Urllib是pyt
Python爬蟲從入門到進階(4)之xpath的使用
names 擴展函數 .get 結果 定義 提高 調用函數 命名空間 concat 官網地址:https://lxml.de/xpathxslt.html 導入: from lxml import etree lxml.tree 支持 ElementTree 和 El
Python 爬蟲從入門到進階之路(一)
通用爬蟲和聚焦爬蟲 根據使用場景,網路爬蟲可分為 通用爬蟲 和 聚焦爬蟲 兩種. 通用爬蟲 通用網路爬蟲 是 捜索引擎抓取系統(Baidu、Google、Yahoo等)的重要組成部分。主要目的是將網際網路上的網頁下載到本地,形成一個網際網路內容的映象備份。 通用
Python 爬蟲從入門到進階之路(二)
上一篇文章我們對爬蟲有了一個初步認識,本篇文章我們開始學習 Python 爬蟲例項。 在 Python 中有很多庫可以用來抓取網頁,其中內建了 urllib 模組,該模組就能實現我們基本的網頁爬取。 在 Python2.x 和 Python3.x 中 urllib 模組是不一樣的,但是用法上差不多,我們先
Python 爬蟲從入門到進階之路(三)
之前的文章我們做了一個簡單的例子爬取了百度首頁的 html,本篇文章我們再來看一下 Get 和 Post 請求。 在說 Get 和 Post 請求之前,我們先來看一下 url 的編碼和解碼,我們在瀏覽器的連結裡如果輸入有中文的話,如:https://www.baidu.com/s?wd=貼吧,那麼瀏覽器會自
Python 爬蟲從入門到進階之路(四)
之前的文章我們做了一個簡單的例子爬取了百度首頁的 html,我們用到的是 urlopen 來開啟請求,它是一個特殊的opener(也就是模組幫我們構建好的)。但是基本的 urlopen() 方法不支援代理、cookie等其他的HTTP/HTTPS高階功能,所以我們需要用到 Python 的 opener 來自
Python 爬蟲從入門到進階之路(五)
在之前的文章中我們帶入了 opener 方法,接下來我們看一下 opener 應用中的 ProxyHandler 處理器(代理設定)。 使用代理IP,這是爬蟲/反爬蟲的第二大招,通常也是最好用的。 很多網站會檢測某一段時間某個IP的訪問次數(通過流量統計,系統日誌等),如果訪問次數多的不像正常人,它會禁止
Python 爬蟲從入門到進階之路(六)
在之前的文章中我們介紹了一下 opener 應用中的 ProxyHandler 處理器(代理設定),本篇文章我們再來看一下 opener 中的 Cookie 的使用。 Cookie 是指某些網站伺服器為了辨別使用者身份和進行Session跟蹤,而儲存在使用者瀏覽器上的文字檔案,Cookie可以保持登入資訊到
Python 爬蟲從入門到進階之路(七)
在之前的文章中我們一直用到的庫是 urllib.request,該庫已經包含了平常我們使用的大多數功能,但是它的 API 使用起來讓人感覺不太好,而 Requests 自稱 “HTTP for Humans”,說明使用更簡潔方便。 Requests 唯一的一個非轉基因的 Pyth
Python 爬蟲從入門到進階之路(八)
在之前的文章中我們介紹了一下 requests 模組,今天我們再來看一下 Python 爬蟲中的正則表達的使用和 re 模組。 實際上爬蟲一共就四個主要步驟: 明確目標 (要知道你準備在哪個範圍或者網站去搜索) 爬 (將所有的網站的內容全部爬下來) 取 (去掉對我們沒用處的資料) 處理資料(按照
Python 爬蟲從入門到進階之路(九)
之前的文章我們介紹了一下 Python 中的正則表示式和與爬蟲正則相關的 re 模組,本章我們就利用正則表示式和 re 模組來做一個案例,爬取《糗事百科》的糗事並存儲到本地。 我們要爬取的網站連結是 https://www.qiushibaike.com/text/page/1/ 。
Python 爬蟲從入門到進階之路(十一)
之前的文章我們介紹了一下 Xpath 模組,接下來我們就利用 Xpath 模組爬取《糗事百科》的糗事。 之前我們已經利用 re 模組爬取過一次糗百,我們只需要在其基礎上做一些修改就可以了,為了保證專案的完整性,我們重新再來一遍。 我們要爬取的網站連結是 https://www.qiushibai
Python 爬蟲從入門到進階之路(十二)
之前的文章我們介紹了 re 模組和 lxml 模組來做爬蟲,本章我們再來看一個 bs4 模組來做爬蟲。 和 lxml 一樣,Beautiful Soup 也是一個HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 資料。 lxml 只會區域性遍歷,而Beautiful Soup
Python 爬蟲從入門到進階之路(十三)
之前的文章我們介紹了一下 BeautifulSoup4 模組,接下來我們就利用 BeautifulSoup4 模組爬取《糗事百科》的糗事。 之前我們已經分別利用 re 模組和 Xpath 模組爬取過糗百,我們只需要在其基礎上做一些修改就可以了,為了保證專案的完整性,我們重新再來一遍。 我們要爬取
Python 爬蟲從入門到進階之路(十四)
之前的文章我們已經可以根據 re 模組,Xpath 模組和 BeautifulSoup4 模組來爬取網站上我們想要的資料並且儲存在本地,但是我們並沒有對儲存資料的格式有要求,本章我們就來看資料的儲存格式 JSON 及 Python 中的 json 模組。 JSON(JavaScript Object Not
Python 爬蟲從入門到進階之路(十五)
之前的文章我們介紹了一下 Python 的 json 模組,本章我們就介紹一下之前根據 Xpath 模組做的爬取《糗事百科》的糗事進行豐富和完善。 在 Xpath 模組的爬取糗百的案例中我們只是爬取了其中的糗事,然後儲存到本地,並沒有作者姓名,頭像等資訊,所有我們通過之前介紹的 path 模組講獲取到的完整
Python 爬蟲從入門到進階之路(十六)
之前的文章我們介紹了幾種可以爬取網站資訊的模組,並根據這些模組爬取了《糗事百科》的糗百內容,本章我們來看一下用於專門爬取網站資訊的框架 Scrapy。 Scrapy是用純Python實現一個為了爬取網站資料、提取結構性資料而編寫的應用框架,用途非常廣泛。Scrapy 使用了 Twisted['twɪstɪd