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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

【python】一个简单的贪婪爬虫

發(fā)布時(shí)間:2025/4/16 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【python】一个简单的贪婪爬虫 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這個(gè)爬蟲的作用是,對(duì)于一個(gè)給定的url,查找頁面里面所有的url連接并依次貪婪爬取

?

主要需要注意的地方:

1.lxml.html.iterlinks() ?可以實(shí)現(xiàn)對(duì)頁面所有url的查找

2.獲取頁面要設(shè)置超時(shí),否則遇到?jīng)]有響應(yīng)的頁面,代碼容易卡死

3.對(duì)所有異常的捕獲

4.廣度優(yōu)先搜索實(shí)現(xiàn)

?

具體代碼如下:

#!/usr/bin/env python #encoding:utf8#這是一個(gè)爬蟲代碼,從初始url頁面中查找所有的url并根據(jù)廣度優(yōu)先的順序依次貪婪爬取 #爬取的頁面以1.html,2.html...的方式命名
#author:匡子語
import re import time import lxml.html import urllib2 from collections import dequeclass ScrawURL:def __init__(self):self.total = 50000 #要獲取的頁面數(shù)self.urls = ["http://www.cnblogs.com/"] #初始urlself.html_num = 13047 #當(dāng)前存儲(chǔ)的是第幾個(gè)頁面self.url_num = 0 #當(dāng)前要爬取的url在urls中的位置def getHtml(self, url):print "url:%s" % urluser_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'headers = { 'User-Agent' : user_agent }try:request = urllib2.Request(url, headers = headers)response = urllib2.urlopen(request, timeout=5) #要設(shè)置timeout,有時(shí)頁面長時(shí)間無法響應(yīng)不加timeout會(huì)導(dǎo)致程序卡死content = response.read()self.html_num += 1name = "htmls/%d.html" % self.html_numwith open(name, "w") as f:f.write(content)print self.html_numreturn contentexcept urllib2.HTTPError, e:return ''except urllib2.URLError, e:return ''except Exception, ex: #對(duì)于所有異常形式,都返回空內(nèi)容return ''def getUrl(self, content):try:print "getUrl"html = lxml.html.fromstring(content)links = lxml.html.iterlinks(html) #這個(gè)函數(shù)可以自動(dòng)獲取頁面中的所有url,非常好用urls = []for link in links:if "http" in link[2]:urls.append(link[2])return urlsexcept Exception, ex:return []def scrawl(self): #廣度優(yōu)先爬取print "scrawl"while len(self.urls) < self.total and len(self.urls) > self.url_num: #獲取足夠的urlurl = self.urls[self.url_num]self.url_num += 1content = self.getHtml(url)if content:urls = self.getUrl(content)if urls:for url in urls:if url not in self.urls: #對(duì)于已經(jīng)爬取過的url跳過 self.urls.append(url)while self.html_num < self.total and len(self.urls) > 0: #獲取足夠的頁面url = self.urls[self.url_num]self.url_num += 1self.getHtml(url)if __name__ == "__main__":surl = ScrawURL()surl.scrawl()

?

總結(jié)

以上是生活随笔為你收集整理的【python】一个简单的贪婪爬虫的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色大片免费观看视频 | 欧美日韩免费在线 | 国产精品久久久久久久久久久不卡 | av动漫免费看 | 亚洲福利影视 | 老鸭窝av在线 | 日本中文字幕视频在线 | 天天曰天天干 | 国产东北真实交换多p免视频 | a级免费视频 | 乌克兰少妇性做爰 | 日韩成人一区二区视频 | 国产在线观看黄 | 粗大黑人巨茎大战欧美成人 | av涩涩 | 亚洲精品日产精品乱码不卡 | 国产a视频免费观看 | 成 人 黄 色 片 在线播放 | 性欧美videos另类艳妇3d | 91porn破解版 | av一区免费| 精品偷拍网 | 毛片视屏 | 日本天堂在线视频 | 精品国产欧美一区二区 | 午夜涩涩| 日韩av毛片在线观看 | 国产 欧美 精品 | 中文字幕一区二区三区手机版 | 美女黄视频在线观看 | 亚洲视频综合 | 视频在线一区 | 欧美一区二区三区视频 | 一区二区不卡在线 | 国内自拍第二页 | 91看片免费看 | 人妻熟女一区二区三区 | 国产波霸爆乳一区二区 | 一区二区不卡免费视频 | 成人精品一区二区三区 | 91爱啪啪 | 精品欧美激情精品一区 | 欧美日韩人妻精品一区二区 | 欧美成人免费网站 | 亚洲欧美国产日韩精品 | 中文字幕欧美一区 | 亚洲黄网站在线观看 | 国产一区二区免费看 | av免费国产 | 欧美一区二区三区四区五区 | 黄色日皮视频 | 毛片无码一区二区三区a片视频 | 羞羞的网站在线观看 | 美女福利在线视频 | 都市激情久久 | 亚洲经典视频 | 亚洲日本色 | 日韩视频在线一区二区 | 爱爱视频在线播放 | 国产自偷 | 草久免费视频 | 美女啪啪网站 | 国产免费视屏 | 久久久午夜电影 | 四虎影视国产精品 | 一级不卡| 秋霞视频一区二区 | 天天操夜夜爱 | 国产又色又爽无遮挡免费 | 又黄又爽网站 | 私库av在线| 日本综合久久 | 国产一级爽片 | 五月天婷婷丁香花 | 亚洲精品tv| 人人干人人爽 | 欧美视频一二三区 | 久久91亚洲人成电影网站 | 亚洲爆乳无码一区二区三区 | 天堂√8在线中文 | 欧美成人国产精品高潮 | 亚洲毛片一区二区三区 | 奇米影视狠狠 | 综合婷婷| 中文字幕一区二区三区免费视频 | 久久久男人天堂 | 国产女主播av | 免费黄色一区二区 | 爽好多水快深点欧美视频 | 成人av在线资源 | 国产精品丝袜黑色高跟 | 美女被男生免费视频 | 国产精品操 | 欧美一级在线免费观看 | 国产精品对白 | 解开人妻的裙子猛烈进入 | 蜜乳av 懂色av 粉嫩av | 国产在线xx | 18成人在线 |