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

歡迎訪問 生活随笔!

生活随笔

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

python

python爬虫记录时间_Python新手写爬虫全过程记录分析

發布時間:2025/3/12 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫记录时间_Python新手写爬虫全过程记录分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目標網站:http://bohaishibei.com/post/category/main/(一個很有趣的網站,一段話配一個圖,老有意思了~)網站形式如下:

目標:把大的目標分為幾個小的目標。因為第一次干這個,所以對自己能力很清楚,所以完成順序由簡單到復雜。

1.爬取一期的內容,包括標題,和圖片的url

2.把數據存在本地的txt文件中

3.想爬多少就爬就爬少

4.寫一個網站,展示一下。(純用于學習)

Let‘s 搞定它!

第一步:

我用的是google瀏覽器,進入開發者模式,使用’頁面內的元素選擇器‘,先看一下內頁中的結構,找到我們要的數據所在’標簽‘。

這里我們需要的博海拾貝一期的內容全部在

第一條紅線是:頁面內的元素選擇器

第二條是:內容所在標簽

第三條是:title

經過分析得出,我只要,這個標簽的內容:所以寫了下面的方法:

這里需要說一下:在寫這個爬蟲之前我就打算只用字符串的內置函數來處理匹配問題,所以我就上http://www.w3cschool.cc/python/進入到字符串頁面,大致看了一遍字符串的內建函數有哪些。

partition() 方法用來根據指定的分隔符將字符串進行分割。

如果字符串包含指定的分隔符,則返回一個3元的元組,第一個為分隔符左邊的子串,第二個為分隔符本身,第三個為分隔符右邊的子串。

partition() 方法是在2.5版中新增的。參考:http://www.w3cschool.cc/python/att-string-partition.html

這樣我就得到只有內容的字符串了,干凈~

第二步:

得到title的內容。title的格式如下,我只要’【2】‘后面的文字,后面的img暫時不考慮一步步的來。

【2】這是我最近的狀態,請告訴我不是我一個人!

http://ww4.sinaimg.cn/mw690/005CfBldtw1etay8ifthnj30an0aot8w.jpg />

我寫了下面的方法:

這里用try....except是因為我不知道怎么跳出循環。。。。求大神有更好的方法告訴我。

我這里跳出循環用的是當拋出VlaueError異常就說明找不到了,那就返回列表。就跳出循環了。

num1是】的位置,num2是

的位置,然后用序列的切片,咔嚓咔嚓一下就是我想要的數據了。這里需要注意的是:切片’要頭不要尾‘所以我們的得到的數據就是這個樣子的:

哎呀,這個是什么鬼!要頭不要尾就是這個意思!

然后我就想:那就把num1加1不就完了嗎?我真是太天真了。。。。

請+3,我覺得原理是這樣的,這個是個中文字符!(求大神指點)

第三步:

交代清楚我昨天晚上做的事情了,記錄下時間——10:01,下面我要爬圖片的url了。這里要說一下,如果要把圖片下下來,最重要的一步就是得到url,然后下載下來保存到本地(用文本的IO)。

我先獲得url,實現原理同獲取title,我在想,既然一樣卸載獲取title的方法里好,還是在寫一個方法好。我單獨寫了一個方法,但是其實就是復制了一下title的方法,改了下匹配的字符串,代碼如下:

結果圖如下:

這里發現,有的時候一個title會有很多個圖片。我思考之后有如下思路:

1.需要寫一個方法,當一個title出現多個圖片的時候,捕獲url。這個需要有一個判斷語句,當url長度大于一個url長度的時候,才需要調用這個函數。

2.多個圖片的url怎么放?使用符號隔開存放還是嵌套放入一個數組里面?我這里打算用’|‘隔開,這樣的話加一個判語句,或者先判斷一下url長度,都可以進行。

這個問題先放在這里,因為當我要下載的時候這個url才需要過濾,所以先進行下一步,把數據存到本地txt文中,這里在解決這個問題也不晚。

第四步:

把數據存到本地的txt中。Python文件IO參考資料:http://www.w3cschool.cc/python/python-files-io.html

這里需要注意的是,文本寫入的時候記得close,還有就是注意打開文本的模式。

這里我考慮了一個問題,根據《編寫高質量代碼——改善python程序的91個建議》這本書中寫道的,字符串連接時,用jion()效率高于’+‘

所以我寫了如下代碼:

這樣造成了一個問題,看圖

造成最后一個和新的一個列表寫入時在同一行。同時用with....as更好。修改后代碼如下:

下面研究title和img以什么樣的格式存入txt文本:

title$img

這里我有一個概念混淆了,+和join()方法的效率問題主要在連接多個字符串的時候,我這個只用連接一次,不需要考慮這個問題。

文本中的內容如下:愿你貪吃不胖,愿你懶惰不丑,愿你深情不被辜負。$http://ww1.sinaimg.cn/mw690/005CfBldtw1etay8dl1bsj30c50cbq4m.jpg"

這是我最近的狀態,請告訴我不是我一個人!$http://ww4.sinaimg.cn/mw690/005CfBldtw1etay8ifthnj30an0aot8w.jpg

引誘別人和你擊拳慶祝,然后偷偷把手勢變成二,就可以合體成為蝸牛cosplay……$http://ww2.sinaimg.cn/mw690/005CfBldtw1etay8fzm1sg30b40644qq.gif

原來蝸牛是醬紫吃東西的。。。。漲姿勢!$http://ww4.sinaimg.cn/mw690/005CfBldtw1etay8egg8vg30bo08ax6p.gif

寫入文本的最后,解決多個圖片的問題:

輸出如下:元氣少女陳意涵 by @TopFashionStyle$http://ww2.sinaimg.cn/mw690/005CfBldtw1etay848iktj30bz0bcq4x.jpg|http://ww1.sinaimg.cn/mw690/005CfBldtw1etay83kv5pj30c10bkjsr.jpg|http://ww3.sinaimg.cn/mw690/005CfBldtw1etay82qdvsj30c10bkq3z.jpg|http://ww1.sinaimg.cn/mw690/005CfBldtw1etay836z8lj30c00biq40.jpg|http://ww4.sinaimg.cn/mw690/005CfBldtw1etay8279qmj30ac0a0q3p.jpg|http://ww1.sinaimg.cn/mw690/005CfBldtw1etay81ug5kj30c50bnta6.jpg|http://ww2.sinaimg.cn/mw690/005CfBldtw1etay8161ncj30c20bgmyt.jpg|http://ww2.sinaimg.cn/mw690/005CfBldtw1etay804oy7j30bs0bgt9r.jpg|

暫時功能是實現了,后面遇到問題需要修改在改吧。。。。新手走一步看一步!!!

到此為止,已經完成了前兩個簡單的計劃:

1.爬取一期的內容,包括標題,和圖片的url

2.把數據存在本地的txt文件中

全部代碼如下:

總結

以上是生活随笔為你收集整理的python爬虫记录时间_Python新手写爬虫全过程记录分析的全部內容,希望文章能夠幫你解決所遇到的問題。

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