unit2.~pas
来自「国产简体中文版专业通过Baidu.COM引擎快速搜集大量目标城市和行业的公司企业」· ~PAS 代码 · 共 76 行
~PAS
76 行
unit Unit2;
interface
uses
Classes, SysUtils, Dialogs, RegExpr, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, StrUtils;
type
TSouSuo = class(TThread)
private
{ Private declarations }
protected
procedure Execute; override;
public
procedure Threaddone(sender: tobject);
end;
implementation
uses Unit1;
procedure TSouSuo.Execute;
var
str, str2: string;
Reg: TRegExpr;
i, j: Integer;
IdHTTP1: TIdHTTP;
strList: TStringList;
begin
i := 0;
str := 'http://www.baidu.com/s?lm=0&si=&rn=10&ie=gb2312&ct=0&wd=%s&pn=%d&cl=3';
strList := TStringList.Create;
strList.Delimiter := '+';
{for j := 0 to Form1.Memo2.Lines.Count-1 do
begin
strList.Add(Form1.Memo2.Lines.Strings[j]);
end;}
strList.Add(Form1.Memo2.Text);
ShowMessage(strList.DelimitedText);
IdHTTP1 := TIdHTTP.Create(nil);
str2 := IdHTTP1.Get(Format(str,[strList.DelimitedText,i]));
IdHTTP1.Free;
Reg := TRegExpr.Create;
try
Reg.Expression := '13\d{9}|15[3689]\d{8}';
while AnsiContainsText(str2,'<font size=3>下一页</font></a>') do //AnsiResemblesText str1 <> str2
begin
IdHTTP1 := TIdHTTP.Create(nil);
if Reg.Exec(str2) then
repeat
Form1.Memo1.Lines.Add(Reg.Match [0]);
UNTIL not Reg.ExecNext;
i := i + 10;
str2 := IdHTTP1.Get(Format(str,[strList.DelimitedText,i]));
IdHTTP1.Free;
end;
finally
Reg.Free;
end;
OnTerminate := Threaddone;
end;
procedure TSouSuo.Threaddone(sender: tobject);
begin
ShowMessage('搜索完成,共搜到'+inttostr(Form1.Memo1.Lines.Count)+'个手机号');
Form1.Button1.Enabled := True;
Form1.Button2.Enabled := False;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?