⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmlparser.h

📁 网络图片收集软件
💻 H
字号:
// HtmlParser.h: interface for the CHtmlParser class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_HTMLPARSER_H__43C05252_533D_43F7_8D22_9D129EBBD08B__INCLUDED_)
#define AFX_HTMLPARSER_H__43C05252_533D_43F7_8D22_9D129EBBD08B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Option.h"
#include <afxtempl.h>
#include "Inet.h"


class CParaPair  
{
public:
	CString& GetValue(){ return m_strValue; }
	CString& GetPara(){ return m_strPara; }
	void SetValue(LPCTSTR lpszValue){ m_strValue=lpszValue;}
	void SetPara(LPCTSTR lpszPara){m_strPara=lpszPara;}
	//CParaPair();
	//virtual ~CParaPair();

private:
	CString m_strValue;
	CString m_strPara;
};

typedef CArray<CParaPair,CParaPair&> TAG_ARGS;
//typedef CArray<int,int> LEVEL_ARRAY;
//要下载的url和本url要下载的层数
typedef struct {
	CString m_url;
	int		level;
} URL_LEVEL;
typedef CArray<URL_LEVEL,URL_LEVEL&> URL_LEVEL_ARRAY;

class CHtmlParser  
{
public:
	CString m_parenturl;
	URL_LEVEL_ARRAY& GetArrLink(){ return m_url_level;}
	//LEVEL_ARRAY m_arrInt;
	void SetLevel(int nLevel){ m_nLevel=nLevel; }
	void SetPageURL(CString& strServer,CString&strObject);
	CStringArray & GetImage(){ return m_arrStrImage;}
//DEL 	CStringArray & GetLinks(){ return m_arrStrLinks;}
	void ParseText(char *pBuffer, int nMaxLen);
	CHtmlParser(Option &option,int unlikelevel);
	virtual ~CHtmlParser();

protected:
	int m_site_maxlevel;
	int m_exclusive_level;
	int m_unlike_level;
	void MakeQualifiedUrl(CString & strText,int &level);
	int m_nLevel;
	CString m_strObject;
	int WantImageType(CString &strText);
	bool WantFileType(CString &strText);
	CString m_strServer;
	void GetParaPair(const char *pBuffer, int &nIndex, int nMaxLen);
	bool ProcessTag();
	bool GetTag(const char *pBuffer, int& nIndex, int nMaxLen);
	CStringArray m_arrStrImage;//保存本次分析中分析出的图片的url
	//CStringArray m_arrStrLinks;//本成员好像没什么用
	TAG_ARGS m_arrparapair;
	CString m_strTag;
	bool WantTag();
	CString GetString(const char *pTerminals, const char *pBuffer, int &nIndex, int nMaxLen);
	bool FindToken(const char *pTokens, const char *pBuffer, int& nIndex,int nMaxLen);
	int m_min_width;
	int m_min_length;
	int m_max_width;
	int m_max_length;
	DWORD m_image_type;
	URL_LEVEL_ARRAY m_url_level;
	//int i;//=0;
	
};

#endif // !defined(AFX_HTMLPARSER_H__43C05252_533D_43F7_8D22_9D129EBBD08B__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -