導航:首頁 > 編程語言 > python爬取起點網

python爬取起點網

發布時間:2022-08-21 08:09:06

python怎樣爬取整站

如果是python2.7,利用urllib和urllib2進行爬取,對於要爬取的網站,需要做一些分析,比如要爬取的內容是登錄後才看得到的,那就先要實現模擬登陸,再進行爬取。爬取時一般是發起get請求,攜帶的參數可以通過瀏覽器的開發者模式分析網頁請求來查看。如果是python3,原理也差不多,用的模塊稍微不一樣一些

❷ Python如何實現爬取需要登錄的網站代碼實例

final String url = "jdbc:oracle:thin:@localhost:1521:ORCL";
final String user = "store";
final String password = "store_password";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(url, user, password);
return con;
}

❸ 如何用 python 爬取簡單網頁

測試環境:Windows10+Python3.5.2

打開命令提示符(管理員),輸入pip3 install requests安裝requests模塊

importrequests,re
#獲取網頁
r=requests.get('http://www.bilibili.com')
#正則表達式獲取標題
res=re.search(r'<title>([^<]*)</title>',r.text)
print(res.group(1))
>>>嗶哩嗶哩彈幕視頻網-(゜-゜)つロ乾杯~-bilibili

❹ 怎麼樣python爬蟲進行此網站爬取

❺ 如何用Python爬取數據

方法/步驟

❻ python 怎樣爬取網頁所有鏈接

給你貼一下我前一段時間回答的類似問題,用的soup,還有一個用的正則就不貼了,手機不太方便,如下。
import beautifulsoup
import urllib2

def main():

userMainUrl = "你要抓取的地址"
req = urllib2.Request(userMainUrl)
resp = urllib2.urlopen(req)
respHtml = resp.read()
foundLabel = respHtml.findAll("label")

finalL =foundLabel.string

print "biaoti=",finalL
if __name__=="__main__":

main();

PS:如果不會改的話追問一下,回頭我用電腦給你寫一份

❼ python 怎樣爬去網頁的內容

用python爬取網頁信息的話,需要學習幾個模塊,urllib,urllib2,urllib3,requests,httplib等等模塊,還要學習re模塊(也就是正則表達式)。根據不同的場景使用不同的模塊來高效快速的解決問題。

最開始我建議你還是從最簡單的urllib模塊學起,比如爬新浪首頁(聲明:本代碼只做學術研究,絕無攻擊用意):

這樣就把新浪首頁的源代碼爬取到了,這是整個網頁信息,如果你要提取你覺得有用的信息得學會使用字元串方法或者正則表達式了。

平時多看看網上的文章和教程,很快就能學會的。

補充一點:以上使用的環境是python2,在python3中,已經把urllib,urllib2,urllib3整合為一個包,而不再有這幾個單詞為名字的模塊

❽ 怎麼用python爬取一個網站的網頁數量

1.
這個要根據你的網站地址進行分析,構造網站的url,通過for循環,做統計輸出,從而計算出一個網站的網頁數量。
2.
由於你未給出具體網站的地址,只能給你說個流程如上。
望採納,希望能幫到你。。。。。。

❾ Python使用beautifulsoup如何爬取小說正文全部內容

單章的部分應該沒問題,去目錄頁爬下章節鏈接存列表裡遍歷爬取就行了吧。
另外通常手機版站點的反爬會弱一些,有沒有考慮爬手機站?

github、csdn、博客園等等站會有相關的博文涉及相關爬蟲和源碼,去參考一下也好。
還解決不了的話先把「全部正文,不知道咋回事目錄都爬不下來」的情況說的更詳細一點。

❿ 如何用 Python 爬取需要登錄的網站

步驟一:研究該網站

打開登錄頁面

進入以下頁面 「bitbucket.org/account/signin」。你會看到如下圖所示的頁面(執行注銷,以防你已經登錄)

仔細研究那些我們需要提取的詳細信息,以供登錄之用

在這一部分,我們會創建一個字典來保存執行登錄的詳細信息:

1. 右擊 「Username or email」 欄位,選擇「查看元素」。我們將使用 「name」 屬性為 「username」 的輸入框的值。「username」將會是 key 值,我們的用戶名/電子郵箱就是對應的 value 值(在其他的網站上這些 key 值可能是 「email」,「 user_name」,「 login」,等等)。

2. 右擊 「Password」 欄位,選擇「查看元素」。在腳本中我們需要使用 「name」 屬性為
「password」 的輸入框的值。「password」 將是字典的 key 值,我們輸入的密碼將是對應的 value
值(在其他網站key值可能是 「userpassword」,「loginpassword」,「pwd」,等等)。

3. 在源代碼頁面中,查找一個名為 「csrfmiddlewaretoken」 的隱藏輸入標簽。「csrfmiddlewaretoken」
將是 key 值,而對應的 value 值將是這個隱藏的輸入值(在其他網站上這個 value 值可能是一個名為 「csrftoken」,「 authenticationtoken」 的隱藏輸入值)。列如:「」。

最後我們將會得到一個類似這樣的字典:

Python

payload = {
"username": "<USER NAME>",
"password": "<PASSWORD>",
"csrfmiddlewaretoken": "<CSRF_TOKEN>"
}

1
2
3
4
5

payload = {
"username": "<USER NAME>",
"password": "<PASSWORD>",
"csrfmiddlewaretoken": "<CSRF_TOKEN>"
}

請記住,這是這個網站的一個具體案例。雖然這個登錄表單很簡單,但其他網站可能需要我們檢查瀏覽器的請求日誌,並找到登錄步驟中應該使用的相關的 key 值和 value 值。

步驟2:執行登錄網站

對於這個腳本,我們只需要導入如下內容:

Python

import requests
from lxml import html

1
2

import requests
from lxml import html

首先,我們要創建 session 對象。這個對象會允許我們保存所有的登錄會話請求。

Python

session_requests = requests.session()

1

session_requests = requests.session()

第二,我們要從該網頁上提取在登錄時所使用的 csrf 標記。在這個例子中,我們使用的是 lxml 和 xpath 來提取,我們也可以使用正則表達式或者其他的一些方法來提取這些數據。

Python

login_url = "https://bitbucket.org/account/signin/?next=/"
result = session_requests.get(login_url)

tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]

1
2
3
4
5

login_url = "https://bitbucket.org/account/signin/?next=/"
result = session_requests.get(login_url)

tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]

**更多關於xpath 和lxml的信息可以在這里找到。

接下來,我們要執行登錄階段。在這一階段,我們發送一個 POST 請求給登錄的 url。我們使用前面步驟中創建的 payload 作為 data 。也可以為該請求使用一個標題並在該標題中給這個相同的 url 添加一個參照鍵。

Python

result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)

1
2
3
4
5

result = session_requests.post(
login_url,
data = payload,
headers = dict(referer=login_url)
)

步驟三:爬取內容

現在,我們已經登錄成功了,我們將從 bitbucket dashboard 頁面上執行真正的爬取操作。

Python

url = 'https://bitbucket.org/dashboard/overview'
result = session_requests.get(
url,
headers = dict(referer = url)
)

1
2
3
4
5

url = 'https://bitbucket.org/dashboard/overview'
result = session_requests.get(
url,
headers = dict(referer = url)
)

為了測試以上內容,我們從 bitbucket dashboard 頁面上爬取了項目列表。我們將再次使用
xpath 來查找目標元素,清除新行中的文本和空格並列印出結果。如果一切都運行 OK,輸出結果應該是你 bitbucket 賬戶中的
buckets / project 列表。

Python

tree = html.fromstring(result.content)
bucket_elems = tree.findall(".//span[@class='repo-name']/")
bucket_names = [bucket.text_content.replace("n", "").strip() for bucket in bucket_elems]

print bucket_names

1
2
3
4
5

tree = html.fromstring(result.content)
bucket_elems = tree.findall(".//span[@class='repo-name']/")
bucket_names = [bucket.text_content.replace("n", "").strip() for bucket in bucket_elems]

print bucket_names

你也可以通過檢查從每個請求返回的狀態代碼來驗證這些請求結果。它不會總是能讓你知道登錄階段是否是成功的,但是可以用來作為一個驗證指標。

例如:

Python

result.ok # 會告訴我們最後一次請求是否成功
result.status_code # 會返回給我們最後一次請求的狀態

1
2

result.ok # 會告訴我們最後一次請求是否成功
result.status_code # 會返回給我們最後一次請求的狀態

就是這樣。

閱讀全文

與python爬取起點網相關的資料

熱點內容
度人經pdf 瀏覽:898
怎麼配置android遠程伺服器地址 瀏覽:956
java程序員看哪些書 瀏覽:939
什麼app可以免費和外國人聊天 瀏覽:793
pdf手寫筆 瀏覽:178
別永遠傷在童年pdf 瀏覽:986
愛上北斗星男友在哪個app上看 瀏覽:419
主力散戶派發源碼 瀏覽:669
linux如何修復伺服器時間 瀏覽:59
榮縣優途網約車app叫什麼 瀏覽:477
百姓網app截圖是什麼意思 瀏覽:226
php如何嵌入html 瀏覽:814
解壓專家怎麼傳輸 瀏覽:745
如何共享伺服器的網路連接 瀏覽:134
程序員簡易表白代碼 瀏覽:168
什麼是無線加密狗 瀏覽:64
國家反詐中心app為什麼會彈出 瀏覽:69
cad壓縮圖列印 瀏覽:104
網頁打開速度與伺服器有什麼關系 瀏覽:865
android開發技術文檔 瀏覽:65