日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python采集_Python采集实例2

發布時間:2025/4/17 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python采集_Python采集实例2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇說道我們要采集http://www.gg4493.cn/的數據,接下來:

步驟2:對于每一個鏈接,獲取它的網頁內容。

很簡單,只需要打開urls.txt文件,一行一行地讀出來就可以了。

也許這里會顯得多此一舉,但是基于我對解耦的強烈愿望,我還是果斷地寫到文件里了。后面如果采用面向對象編程,重構起來是十分方便的。

獲取網頁內容部分也是相對簡單的,但是需要把網頁的內容都保存到一個文件夾里。

這里有幾個新的用法:

復制代碼 代碼如下:

os.getcwd()#獲得當前文件夾路徑

os.path.sep#當前系統路徑分隔符(是這個叫法嗎?)windows下是“\”,linux下是“/”

#判斷文件夾是否存在,如果不存在則新建一個文件夾

if os.path.exists('newsdir') == False:

os.makedirs('newsdir')

#str()用來將某個數字轉為字符串

i = 5

str(i)

有了這些方法,將字符串保存到某個文件夾下不同的文件就不再是一件困難的事了。

步驟3:枚舉每一個網頁,根據正則匹配獲得目標數據。

下面的方法是用來遍歷文件夾的。

復制代碼 代碼如下:

#這個是用來遍歷某個文件夾的

for parent, dirnames, filenames in os.walk(dir):

for dirname in dirnames

print parent, dirname

for filename in filenames:

print parent, filename

遍歷,讀取,匹配,結果就出來了。

我使用的數據提取的正則表達式是這樣的:

復制代碼 代碼如下:

reg = '

.*?

(.*?)

.*?(.*?).*?(.*?).*?(.*?)'

其實這個并不能匹配到所有內容,因為上面的新聞有兩種格式,標簽有一點差別,所以只能提取出一種。

另外一點就是通過正則表達式的提取肯定不是主流的提取方法,如果需要采集其他網站,就需要變更正則表達式,這可是一件比較麻煩的事情。

提取之后觀察可知,正文部分總是會參雜一些無關信息,比如“”“

”等等。所以我再通過正則表達式將正文切片。

復制代碼 代碼如下:

def func(str):#誰起的這個名字

strs = re.split("|.*?|[0-9]+;||<.*?>", str)#各種匹配,通過“|”分隔

ans = ''

#將切分的結果組合起來

for each in strs:

ans += each

return ans

這樣網頁上面的正文基本全部能夠提取出來。

到此整個采集也就結束了。

來源:http://www.m4493.com

總結

以上是生活随笔為你收集整理的python采集_Python采集实例2的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。