導航:首頁 > 編程語言 > python抽取網頁時間

python抽取網頁時間

發布時間:2023-06-30 04:22:46

Ⅰ 想用python獲取網頁的最後更新時間,怎麼弄

如果在header裡面獲取不到那麼你就沒有辦法獲取到了。因為網頁是放在伺服器的,如果伺服器不告訴你它的頁面修好了,你是不知道它有沒有修改過的。

Ⅱ 誰用過python中的re來抓取網頁,能否給個例子,謝謝

這是我寫的一個非常簡單的抓取頁面的腳本,作用為獲得指定URL的所有鏈接地址並獲取所有鏈接的標題。

===========geturls.py================
#coding:utf-8
import urllib
import urlparse
import re
import socket
import threading

#定義鏈接正則
urlre = re.compile(r"href=[\"']?([^ >\"']+)")
titlere = re.compile(r"<title>(.*?)</title>",re.I)

#設置超時時間為10秒
timeout = 10
socket.setdefaulttimeout(timeout)

#定義最高線程數
max = 10
#定義當前線程數
current = 0

def gettitle(url):
global current
try:
content = urllib.urlopen(url).read()
except:
current -= 1
return
if titlere.search(content):
title = titlere.search(content).group(1)
try:
title = title.decode('gbk').encode('utf-8')
except:
title = title
else:
title = "無標題"
print "%s: %s" % (url,title)
current -= 1
return

def geturls(url):
global current,max
ts = []
content = urllib.urlopen(url)
#使用set去重
result = set()
for eachline in content:
if urlre.findall(eachline):
temp = urlre.findall(eachline)
for x in temp:
#如果為站內鏈接,前面加上url
if not x.startswith("http:"):
x = urlparse.urljoin(url,x)
#不記錄js和css文件
if not x.endswith(".js") and not x.endswith(".css"):
result.add(x)
threads = []
for url in result:
t = threading.Thread(target=gettitle,args=(url,))
threads.append(t)
i = 0
while i < len(threads):
if current < max:
threads[i].start()
i += 1
current += 1
else:
pass

geturls("http://www..com")

使用正則表達式(re)只能做到一些比較簡單或者機械的功能,如果需要更強大的網頁分析功能,請嘗試一下beautiful soup或者pyquery,希望能幫到你

Ⅲ 如何用Python爬蟲抓取網頁內容

首先,你要安裝requests和BeautifulSoup4,然後執行如下代碼.

importrequests
frombs4importBeautifulSoup

iurl='http://news.sina.com.cn/c/nd/2017-08-03/doc-ifyitapp0128744.shtml'

res=requests.get(iurl)

res.encoding='utf-8'

#print(len(res.text))

soup=BeautifulSoup(res.text,'html.parser')

#標題
H1=soup.select('#artibodyTitle')[0].text

#來源
time_source=soup.select('.time-source')[0].text


#來源
origin=soup.select('#artibodyp')[0].text.strip()

#原標題
oriTitle=soup.select('#artibodyp')[1].text.strip()

#內容
raw_content=soup.select('#artibodyp')[2:19]
content=[]
forparagraphinraw_content:
content.append(paragraph.text.strip())
'@'.join(content)
#責任編輯
ae=soup.select('.article-editor')[0].text

這樣就可以了

Ⅳ 如何利用Python來爬取網頁視頻呢

前幾天寫了個爬蟲,用path、re、BeautifulSoup爬取的B站python視頻,但是這個爬蟲有有個缺陷,沒能獲取視頻的圖片信息,如果你去嘗試你會發現它根本就不在返回的結果裡面。今天就用分析Ajax的方法獲取到。

分析頁面

點一下搜索,這個url才會出現數爛神,或者點一下下一頁

然後就構造這歷知個請求就可以了。需要注意的是最後一個參數不能添加。

代碼實戰

代碼裡面有些解釋已經很清楚了,在這里再次復習一下

re.sub()

這個函數傳入五個參數,前三個是必須傳入的pattern,、repl、string

第一個是表示的是正則表達式中模式字元串

第二個是要被替換的字元串

第三個是文本字元串剩下兩個可選參數,一個是count一個是薯虧flag。

時間戳轉換成標准格式的時間第一種方法

第二種方法

綜上就是這次的全部內容,多加練習繼續加油!

Ⅳ Python爬取動態生成的網頁(框架)需要具備哪些知識或者使用哪些庫

1、抓取網頁,模擬登陸等背後的通用的邏輯和原理;
2、以提取songtaste網頁中標題為例,詳解如何抓取網站並提取網頁內容;
3、以模擬登陸網路為例,詳解如何模擬登陸網站;
4、以抓取網易博客帖子中的最近讀者信息為例,詳解如何抓取動態網頁中的內容;
5、詳解了在模擬登陸和抓取動態網頁過程中,如何用對應的網頁分析工具,如IE9的F12,Chrome的Ctrl+Shift+J,Firefox的Firebug,去分析出對應的邏輯;
6、針對抓取網站,模擬登陸,抓取動態網頁,全部給出了完整的可用的,多種語言的示例代碼:Python,C#,Java,Go等。

Ⅵ 從零開始學Python-使用Selenium抓取動態網頁數據

AJAX(Asynchronouse JavaScript And XML:非同步JavaScript和XML)通過在後台與伺服器進行少量數據交換,Ajax 可以使網頁實現非同步更新,這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行局部更新。傳統的網頁(不使用Ajax)如果需要更新內容,必須重載整個網頁頁面。

因為傳統的網頁在傳輸數據格式方面,使用的是 XML 語法,因此叫做 AJAX ,其實現在數據交互基本上都是使用 JSON 。使用AJAX載入的數據,即使使用了JS將數據渲染到了瀏覽器中,在 右鍵->查看網頁源代碼 還是不能看到通過ajax載入的數據,只能看到使用這個url載入的html代碼。

法1:直接分析ajax調用的介面。然後通過代碼請求這個介面。

法2:使用Selenium+chromedriver模擬瀏覽器行為獲取數據。

Selenium 相當於是一個機器人。可以模擬人類在瀏覽器上的一些行為,自動處理瀏覽器上的一些行為,比如點擊,填充數據,刪除cookie等。 chromedriver 是一個驅動 Chrome 瀏覽器的驅動程序,使用他才可以驅動瀏覽器。當然針對不同的瀏覽器有不同的driver。以下列出了不同瀏覽器及其對應的driver:

現在以一個簡單的獲取網路首頁的例子來講下 Selenium 和 chromedriver 如何快速入門:


參考:Selenium的使用


直接直接分析ajax調用的介面爬取

selenium結合lxml爬取

Ⅶ Python爬蟲:如何在一個月內學會爬取大規模數

爬蟲是入門Python最好的方式,沒有之一。Python有很多應用的方向,比如後台開發、web開發、科學計算等等,但爬蟲對於初學者而言更友好,原理簡單,幾行代碼就能實現基本的爬蟲,學習的過程更加平滑,你能體會更大的成就感。
掌握基本的爬蟲後,你再去學習Python數據分析、web開發甚至機器學習,都會更得心應手。因為這個過程中,Python基本語法、庫的使用,以及如何查找文檔你都非常熟悉了。
對於小白來說,爬蟲可能是一件非常復雜、技術門檻很高的事情。比如有人認為學爬蟲必須精通 Python,然後哼哧哼哧系統學習 Python 的每個知識點,很久之後發現仍然爬不了數據;有的人則認為先要掌握網頁的知識,遂開始 HTMLCSS,結果入了前端的坑,瘁……
但掌握正確的方法,在短時間內做到能夠爬取主流網站的數據,其實非常容易實現,但建議你從一開始就要有一個具體的目標。
在目標的驅動下,你的學習才會更加精準和高效。那些所有你認為必須的前置知識,都是可以在完成目標的過程中學到的。這里給你一條平滑的、零基礎快速入門的學習路徑。
1.學習 Python 包並實現基本的爬蟲過程
2.了解非結構化數據的存儲
3.學習scrapy,搭建工程化爬蟲
4.學習資料庫知識,應對大規模數據存儲與提取
5.掌握各種技巧,應對特殊網站的反爬措施
6.分布式爬蟲,實現大規模並發採集,提升效率
- -
學習 Python 包並實現基本的爬蟲過程
大部分Python爬蟲都是按「發送請求——獲得頁面——解析頁面——抽取並儲存內容」這樣的流程來進行,這其實也是模擬了我們使用瀏覽器獲取網頁信息的過程。
Python爬蟲相關的包很多:urllib、requests、bs4、scrapy、pyspider 等,建議從requests+Xpath 開始,requests 負責連接網站,返回網頁,Xpath 用於解析網頁,便於抽取數據。
如果你用過 BeautifulSoup,會發現 Xpath 要省事不少,一層一層檢查元素代碼的工作,全都省略了。這樣下來基本套路都差不多,一般的靜態網站根本不在話下,豆瓣、糗事網路、騰訊新聞等基本上都可以上手了。
當然如果你需要爬取非同步載入的網站,可以學習瀏覽器抓包分析真實請求或者學習Selenium來實現自動化,這樣,知乎、時光網、貓途鷹這些動態的網站也可以迎刃而解。
- -
了解非結構化數據的存儲
爬回來的數據可以直接用文檔形式存在本地,也可以存入資料庫中。
開始數據量不大的時候,你可以直接通過 Python 的語法或 pandas 的方法將數據存為csv這樣的文件。
當然你可能發現爬回來的數據並不是干凈的,可能會有缺失、錯誤等等,你還需要對數據進行清洗,可以學習 pandas 包的基本用法來做數據的預處理,得到更干凈的數據。
- -
學習 scrapy,搭建工程化的爬蟲
掌握前面的技術一般量級的數據和代碼基本沒有問題了,但是在遇到非常復雜的情況,可能仍然會力不從心,這個時候,強大的 scrapy 框架就非常有用了。
scrapy 是一個功能非常強大的爬蟲框架,它不僅能便捷地構建request,還有強大的 selector 能夠方便地解析 response,然而它最讓人驚喜的還是它超高的性能,讓你可以將爬蟲工程化、模塊化。
學會 scrapy,你可以自己去搭建一些爬蟲框架,你就基本具備爬蟲工程師的思維了。
- -
學習資料庫基礎,應對大規模數據存儲
爬回來的數據量小的時候,你可以用文檔的形式來存儲,一旦數據量大了,這就有點行不通了。所以掌握一種資料庫是必須的,學習目前比較主流的 MongoDB 就OK。
MongoDB 可以方便你去存儲一些非結構化的數據,比如各種評論的文本,圖片的鏈接等等。你也可以利用PyMongo,更方便地在Python中操作MongoDB。
因為這里要用到的資料庫知識其實非常簡單,主要是數據如何入庫、如何進行提取,在需要的時候再學習就行。
- -
掌握各種技巧,應對特殊網站的反爬措施
當然,爬蟲過程中也會經歷一些絕望啊,比如被網站封IP、比如各種奇怪的驗證碼、userAgent訪問限制、各種動態載入等等。
遇到這些反爬蟲的手段,當然還需要一些高級的技巧來應對,常規的比如訪問頻率控制、使用代理IP池、抓包、驗證碼的OCR處理等等。
往往網站在高效開發和反爬蟲之間會偏向前者,這也為爬蟲提供了空間,掌握這些應對反爬蟲的技巧,絕大部分的網站已經難不到你了。
- -
分布式Python爬蟲,實現大規模並發採集
爬取基本數據已經不是問題了,你的瓶頸會集中到爬取海量數據的效率。這個時候,相信你會很自然地接觸到一個很厲害的名字:分布式爬蟲。
分布式這個東西,聽起來很恐怖,但其實就是利用多線程的原理讓多個爬蟲同時工作,需要你掌握 Scrapy + MongoDB + Redis 這三種工具。
Scrapy 前面我們說過了,用於做基本的

Ⅷ 如何利用python對網頁的數據進行實時採集並輸出

再怎麼實時也是有一定間隔的,不然伺服器受不了,或者對方把你 k 了。用while True 循環加time. sleep來控制訪問頻率吧。最好加上headers ,還有睡眠時間最好隨機生成,這樣被發現是機器人的概率低點。

閱讀全文

與python抽取網頁時間相關的資料

熱點內容
安卓手機電話簿怎麼導出到蘋果手機 瀏覽:761
php實現投票 瀏覽:333
手機爆力解壓加密視頻文件 瀏覽:932
東方財富app怎麼看北上資金圖解 瀏覽:416
邢昭林程序員那麼可愛拍現場 瀏覽:169
安卓什麼應用可以免費看電視劇 瀏覽:504
合適pdf 瀏覽:293
app監測睡眠怎麼選擇 瀏覽:642
老人家用什麼安卓手機好 瀏覽:955
解壓包能不能送女朋友 瀏覽:701
好看發卡網源碼 瀏覽:51
水平集演算法matlab 瀏覽:769
區域網如何用ftp伺服器配置 瀏覽:74
程序員慣性思考模式 瀏覽:441
如何在個稅app上查身份證號 瀏覽:7
電視家app安裝在電視上怎麼安 瀏覽:889
怎麼將pdf格式轉化為圖片格式 瀏覽:639
伺服器拔掉raid卡怎麼裝系統 瀏覽:234
區域對稱加密演算法 瀏覽:247
數字轉漢字php 瀏覽:735