導航:首頁 > 編程語言 > python讀取網頁無法增加訪問量

python讀取網頁無法增加訪問量

發布時間:2022-08-30 20:56:04

『壹』 python抓取網頁信息時,讀取的是非網頁源代碼,怎麼解決啊

這個是你爬蟲發送請求,被服務端拒絕了;可能有這么幾種:1.需要登錄,2.需要cookie,3,發送的頭不符合服務端的要求,具體要研究服務端;
現手動登陸一次,用fiddler抓包,看一下,如果cookie,就把cookie帶上;

『貳』 python爬蟲網頁問題

沒有表格數據,說明這個數據不是一開始請求就從伺服器返回的,應該是ajax請求到的數據,你可以抓下包,分析一下網路請求,看看這些數據是哪個請求返回的。

『叄』 求大神指導:python模擬web瀏覽器讀取動態網頁的問題

這個只有自己一步步模擬請求過程,比較麻煩。還有就是綁定瀏覽器來爬取好資源慢,

或者自己修改瀏覽器引擎實現支持js的-------這個就太麻煩太難了

『肆』 python如何讀取網頁中的數據

用Beautiful Soup這類解析模塊:

  1. Beautiful Soup 是用Python寫的一個HTML/XML的解析器,它可以很好的處理不規范標記並生成剖析樹(parse tree);

  2. 它提供簡單又常用的導航(navigating),搜索以及修改剖析樹的操作;

  3. 用urllib或者urllib2(推薦)將頁面的html代碼下載後,用beautifulsoup解析該html;

  4. 然後用beautifulsoup的查找模塊或者正則匹配將你想獲得的內容找出來,就可以進行相關處理了,例如:


    html='<html><head><title>test</title></head><body><p>testbody</p></body></html>'
    soup=BeautifulSoup(html)
    soup.contents[0].name
    #u'html'
    soup.comtents[0].contents[0].name
    #u'head'
    head=soup.comtents[0].contents[0]
    head.parent.name
    #u'html'
    head.next
    #u'<title>test</title>

『伍』 怎麼利用python爬取csdn博客訪問量例子

一、網址分析

進入自己的博客頁面,網址為:http://blog.csdn.net/xingjiarong 網址還是非常清晰的就是csdn的網址+個人csdn登錄賬號,我們來看一下下一頁的網址。

看到第二頁的地址為:http://blog.csdn.net/xingjiarong/article/list/2
後邊的數字表示現在正處於第幾頁,再用其他的頁面驗證一下,確實是這樣的,那麼第一頁為什麼不是http://blog.csdn.net
/xingjiarong/article/list/1呢,那麼我們在瀏覽器中輸入http://blog.csdn.net/xingjiarong
/article/list/1試試,哎,果然是第一頁啊,其實第一頁是被重定向了,http://blog.csdn.net/xingjiarong
被重定向到http://blog.csdn.net/xingjiarong/article/list/1,所以兩個網址都能訪問第一頁,那麼現在規
律就非常明顯了:
http://blog.csdn.net/xingjiarong/article/list/ + 頁號

二、如何獲取標題

右鍵查看網頁的源代碼,我們看到可以找到這樣一段代碼:

我們可以看到標題都是在標簽

<span class="link_title"><a href="/xingjiarong/article/details/50651235">

所以我們可以使用下面的正則表達式來匹配標題:

<span class="link_title"><a href=".*?">(.*?)</a></span>

三、如何獲取訪問量

拿到了標題之後,就要獲得對應的訪問量了,經過對源碼的分析,我看到訪問量的結構都是這樣的:

<span class="link_view" title="閱讀次數"> <a href="/xingjiarong/article/details/50651235" title="閱讀次數">閱讀</a>(1140)</span>

括弧中的數字即為訪問量,我們可以用下面的正則表達式來匹配:

<span class="link_view".*?><a href=".*?" title="閱讀次數">閱讀</a>\((.*?)\)</span>

四、如何判斷是否為尾頁

接下來我們要判斷當前頁是否為最後一頁,否則我們就不能判斷什麼時候結束了,我找到了源碼中『尾頁'的標簽,發現是下面的結構:

<a href="/xingjiarong/article/list/2">下一頁</a> <a href="/xingjiarong/article/list/7">尾頁</a>

所以我們可以用下面的正則表達式來匹配,如果匹配成功就說明當前頁不是最後一頁,否則當前頁就是最後一頁。

<a href=".*?">尾頁</a>

五、編程實現

下面是完整的代碼實現:

#!usr/bin/python
# -*- coding: utf-8 -*-
'''
Created on 2016年2月13日
@author: xingjiarong
使用python爬取csdn個人博客的訪問量,主要用來練手
'''
import urllib2
import re
#當前的博客列表頁號
page_num = 1
#不是最後列表的一頁
notLast = 1
account = str(raw_input('輸入csdn的登錄賬號:'))
while notLast:
#首頁地址
baseUrl = 'http://blog.csdn.net/'+account
#連接頁號,組成爬取的頁面網址
myUrl = baseUrl+'/article/list/'+str(page_num)
#偽裝成瀏覽器訪問,直接訪問的話csdn會拒絕
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = {'User-Agent':user_agent}
#構造請求
req = urllib2.Request(myUrl,headers=headers)
#訪問頁面
myResponse = urllib2.urlopen(req)
myPage = myResponse.read()
#在頁面中查找是否存在『尾頁'這一個標簽來判斷是否為最後一頁
notLast = re.findall('<a href=".*?">尾頁</a>',myPage,re.S)
print '-----------------------------第%d頁---------------------------------' % (page_num,)
#利用正則表達式來獲取博客的標題
title = re.findall('<span class="link_title"><a href=".*?">(.*?)</a></span>',myPage,re.S)
titleList=[]
for items in title:
titleList.append(str(items).lstrip().rstrip())
#利用正則表達式獲取博客的訪問量
view = re.findall('<span class="link_view".*?><a href=".*?" title="閱讀次數">閱讀</a>\((.*?)\)</span>',myPage,re.S)
viewList=[]
for items in view:
viewList.append(str(items).lstrip().rstrip())
#將結果輸出
for n in range(len(titleList)):
print '訪問量:%s 標題:%s' % (viewList[n].zfill(4),titleList[n])
#頁號加1
page_num = page_num + 1

『陸』 Python爬蟲如何避免爬取網站訪問過於頻繁

一. 關於爬蟲
爬蟲,是一種按照一定的規則自動地抓取互聯網信息的程序。本質是利用程序獲取對我們有利的數據。

反爬蟲,從不是將爬蟲完全杜絕;而是想辦法將爬蟲的訪問量限制在一個可接納的范圍,不要讓它過於頻繁。

二. 提高爬蟲效率的方法
協程。採用協程,讓多個爬蟲一起工作,可以大幅度提高效率。

多進程。使用CPU的多個核,使用幾個核就能提高幾倍。

多線程。將任務分成多個,並發(交替)的執行。

分布式爬蟲。讓多個設備去跑同一個項目,效率也能大幅提升。

打包技術。可以將python文件打包成可執行的exe文件,讓其在後台執行即可。

其他。比如,使用網速好的網路等等。

三. 反爬蟲的措施
限制請求頭,即request header。解決方法:我們可以填寫user-agent聲明自己的身份,有時還要去填寫origin和referer聲明請求的來源。

限制登錄,即不登錄就不能訪問。解決方法:我們可以使用cookies和session的知識去模擬登錄。

復雜的交互,比如設置「驗證碼」來阻攔登錄。這就比較難做,解決方法1:我們用Selenium去手動輸入驗證碼;方法2:我們用一些圖像處理的庫自動識別驗證碼(tesserocr/pytesserart/pillow)。

ip限制。如果這個IP地址,爬取網站頻次太高,那麼伺服器就會暫時封掉來自這個IP地址的請求。 解決方法:使用time.sleep()來對爬蟲的速度進行限制,建立IP代理池或者使用IPIDEA避免IP被封禁。

『柒』 python網頁爬取遇到的一些問題,求大神解惑

左側的招聘信息是動態生成的,你需要使用AJAX進行爬取。

『捌』 python讀取網頁,不增加訪問量

瀏覽器訪問一個網頁,不止是載入這一個網頁,還載入了 js ,圖片,或一些框架頁面。訪問量有可能在這些 js ,框架頁面,甚至 圖片上做的。你需要仔細分析一下。

閱讀全文

與python讀取網頁無法增加訪問量相關的資料

熱點內容
點開就能看的網址 瀏覽:450
單片機控制和plc控制系統設計 瀏覽:29
她通常去電影院英文翻譯 瀏覽:274
阿里個人雲伺服器叫什麼名字 瀏覽:298
萱萱日記 瀏覽:707
晶元app有什麼用 瀏覽:204
DaDa兔 瀏覽:969
卡羅拉煙氣壓縮機 瀏覽:470
丹麥大尺度電影推薦 瀏覽:784
山東統一政務服務門戶app叫什麼 瀏覽:696
九億app和電視版有什麼區別 瀏覽:82
韓國推理片有哪些日本 瀏覽:887
無法連接到伺服器是為什麼呀 瀏覽:845
百度網盤自動回復源碼 瀏覽:792
只坐A不結婚電影 瀏覽:122
免費看片的在線網站 瀏覽:581
安卓如何設置槍聲小腳步聲大 瀏覽:760
如何將u盤升級為加密盤 瀏覽:784
美國所有恐怖露點電影 瀏覽:864
手機nfc刷全加密ic卡 瀏覽:775