當前位置: 首頁>>代碼示例>>Python>>正文


Python Crawler.set_proxyip方法代碼示例

本文整理匯總了Python中Crawler.Crawler.set_proxyip方法的典型用法代碼示例。如果您正苦於以下問題:Python Crawler.set_proxyip方法的具體用法?Python Crawler.set_proxyip怎麽用?Python Crawler.set_proxyip使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Crawler.Crawler的用法示例。


在下文中一共展示了Crawler.set_proxyip方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: start

# 需要導入模塊: from Crawler import Crawler [as 別名]
# 或者: from Crawler.Crawler import set_proxyip [as 別名]
def start():
	'''抓取進程開始,每次取出一個節點抓取 '''
	# 初始化
	mongo_peoples , redis_client = Init()

	# 待抓取節點集合是否為空
	while redis_client.scard(info_success_set) == 0: # 為空
		# 等待 waiting_size 秒
		time.sleep(wait_time)

	# 從待抓取節點集合隨機(右端)取出一個節點
	node = redis_client.spop(info_success_set)
	urlToken = node

	# 抓取節點代表用戶的個人主頁
	# printx('準備代理……')
	printx('正在抓取用戶 %s 的個人信息……'%urlToken)
	try_cnt = try_limit
	while try_cnt > 0:
		try:
			c = Crawler(isCookie=False,timeout=socket_timeout)
			# 手動設置代理IP
			ip = proxyip.get()
			c.set_proxyip(ip)

			people = get_Info(c,urlToken)
			if people==None:
				raise Exception,'抓取的用戶信息為空'
		except Exception,e:
			try_cnt -= 1
			print e
			printx('用戶 %s 個人信息抓取出錯,還可以嘗試抓取 %d 次'%(urlToken,try_cnt))
		else:
			break
開發者ID:flygodfish,項目名稱:zhihu-crawler-people,代碼行數:36,代碼來源:list_crawler.py

示例2: get_per_followerList

# 需要導入模塊: from Crawler import Crawler [as 別名]
# 或者: from Crawler.Crawler import set_proxyip [as 別名]
def get_per_followerList(urlToken,page,sum_page):
	''' 抓取 follower 列表的每一頁'''
	printx('正在抓取第 %d/%d 頁……'%(page,sum_page))
	try_cnt = try_limit


	follower_list = []

	while try_cnt > 0:
		try:
			# 設置抓取器
			c = Crawler(isCookie=False,timeout=socket_timeout)
			# 手動設置代理IP
			ip = proxyip.get()
			c.set_proxyip(ip)


			# 解析當前頁的 html   
			url = '%s/people/%s/followers?page=%d'%(host,urlToken,page)
			html = c.get_html(url)
			s = BS(html,'html.parser')

			# 獲得當前頁的所有關注用戶
			data = s.find('div',attrs={'id':'data'})['data-state']
			data = json.loads(data)
			items = data['people']['followersByUser'][urlToken]['ids']
			for item in items:
				if item!=None and item!=False and item!=True and item!='知乎用戶'.decode('utf8'):
					node = item.encode('utf8')
					follower_list.append(node)
		except Exception,e:
			try_cnt -= 1
			#printx(e)
			printx('用戶 %s 第 %d 頁抓取出錯,還可以嘗試抓取 %d 次'%(urlToken,page,try_cnt))
		else:
			break
開發者ID:flygodfish,項目名稱:zhihu-crawler-people,代碼行數:38,代碼來源:list_crawler.py


注:本文中的Crawler.Crawler.set_proxyip方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。