当前位置: 首页 > news >正文

做网站图片多大深圳网站建设推广优化公司

做网站图片多大,深圳网站建设推广优化公司,网站的专题图怎么做,上海行业网站建设想用程序去抓取一个网页的内容,Delphi 有自己的 HTTP 库。比如 Indy 的 TIdHTTP,或者 TNetHTTPClient。 这里测试一下使用 Python 的 HTTP 库抓取网页,然后把抓取的内容给 Delphi 的程序。 Delphi 程序,界面上拖控件如下&#x…

想用程序去抓取一个网页的内容,Delphi 有自己的 HTTP 库。比如 Indy 的 TIdHTTP,或者 TNetHTTPClient。

这里测试一下使用 Python 的 HTTP 库抓取网页,然后把抓取的内容给 Delphi 的程序。

Delphi 程序,界面上拖控件如下:

    Panel1: TPanel;Button1: TButton;PageControl1: TPageControl;TabSheet1: TTabSheet;TabSheet2: TTabSheet;Memo1: TMemo;Splitter1: TSplitter;Memo2: TMemo;PythonEngine1: TPythonEngine;PythonDelphiVar1: TPythonDelphiVar;EdgeBrowser1: TEdgeBrowser;Button2: TButton;PythonGUIInputOutput1: TPythonGUIInputOutput;
上述控件的主要设置:

1. PythonEngine1.IO := PythonGUIInputOutput1;

2. PythonGUIInputOutput1.Output := Memo1;  //用 Memo1 来显示 Python 代码打印出来的网页内容。

3. PythonDelphiVar1.Engine := PythonEngine1;

4. PythonDelphiVar1.VarName := 'MyHTML'; //这个变量名称,会在 Python 代码里面使用。

5. 在 Memo2.Lines 里面放 Python 代码。

6. EdgeBrowser1 用于显示由 Python 抓回来的页面内容。

Delphi 的主要代码如下:
procedure TForm3.Button1Click(Sender: TObject);
vari: Integer;
beginEdgeBrowser1.Navigate('D:\test.html');//循环等待 EdgeBrowser1 打开完成。否则当 Python 抓取到页面后写入 EdgeBrowser 会失败。i := 0;while True dobeginSleep(100);Inc(i);Application.ProcessMessages;if i > 10 then Break;end;PythonEngine1.ExecStrings(Memo2.Lines);
end;procedure TForm3.Button2Click(Sender: TObject);
varS: string;
begin
//  S := '<html><head></head><body>abc 12333 <p> hello world!!!</body></html>';S := VarToStr(PythonDelphiVar1.Value);ShowHTML(S);
end;procedure TForm3.PythonDelphiVar1SetData(Sender: TObject; Data: Variant);
varS: string;
begin//ShowMessage('写页面');S :=  VarToStr(Data);ShowHTML(S);
end;procedure TForm3.ShowHTML(const S: string);
begin
{--------------------------------------------------------------------------使用 EdgeBrowse 必须:1. 当前目录下有 WebView2Loader.dll2. 必须先 Navigate 打开后,才能 NavigateToString
--------------------------------------------------------------------------}EdgeBrowser1.NavigateToString(s);end;

Python 代码如下:

import http.client# 页面的路径:blog.csdn.net/pcplayerconn = http.client.HTTPSConnection("blog.csdn.net")  # 工作正常,这里只能填写站点名称。子路径在 request 里面填写。conn.request("GET", "/pcplayer")
response = conn.getresponse()
print(response.status, response.reason)
data = response.read()
print(data.decode())  # 这里是输出的网页内容# MyHTML 是 Delphi 的控件对应的变量,它被赋值时会在 Delphi 代码里触发 OnSetData 事件。
# Delphi 程序在这个 OnSetData 事件里面拿到页面内容,写到浏览器里面去,让浏览器显示。
MyHTML.value = data.decode()# print 把页面内容输出,这个输出在 Delphi 程序里面会显示到 Memo1 里面。
print(response.url)
conn.close()

简单解释:

1. Delphi 程序里面的 EdgeBrowser 加载一个 test.html 页面。加载这个页面是为了打开这个 Browser 方便后继写入抓取的页面内容。

2. PythonEngine1 执行 Memo2 里面的 Python 代码;

3. PythonGUIInputOutput1 将 Python 代码执行后的 print 语句的内容输出到 Memo1 里面。这里是程序抓取到的网页内容。

4. PythonDelphiVar1 获取到 Python 代码里面的 MyHTML.Value 的值,也就是页面内容。并将这个内容写入 EdgeBrowser 浏览器显示。

运行效果图

上面这个图显示了 Memo1 里面呈现的网页内容

下面这个图显示了抓取的网页用浏览器显示的样子

总结:

在 Delphi 里面通过使用 Python4Delphi 控件,可以在 Delphi 程序里面调用 Python 的代码去执行 HTTP 访问。

http://www.yidumall.com/news/30046.html

相关文章:

  • 个人兼职做网站南京关键词优化服务
  • 深圳建设网站费用c盘优化大师
  • 找哪个网站做摩配seo优化排名是什么
  • 外贸网站平台下载自建网站流程
  • 企业邮箱后缀seo优化交流
  • 企业网站服务器租用深圳网页设计公司
  • 网站维护进不去怎么办百度关键词优化方法
  • 内丘企业做网站成都门户网站建设
  • 景点与网站合作方案怎么做电商平台营销策划方案
  • 如何做招聘网站的数据分析关键词整站优化公司
  • 做旅游网站的首页的图片seo推广怎么入门
  • 网站seo优化要怎么做推广软文营销案例
  • 网站开发费入账湖南网站建站系统哪家好
  • 义乌网站推广百度推广四川成都地区服务中心
  • 现在标书都从哪个网站下载软文时光发稿平台
  • 域名后缀cn做网站网站建设方案设计书
  • 公司要建设网站需要那些程序seo店铺描述
  • 商标查询官方网站网站媒体推广
  • 哪个网站开发小程序互联网推广
  • 网站构建的工作中牟网络推广
  • 外包网站建设哪家好友情手机站
  • 万网发布网站360免费建站官网
  • 四川铁科建设监理有限公司官方网站自己做网站流程
  • 合肥智能建站模板网络推广什么做
  • 简速做网站企业网络营销成功案例
  • 网站建设与优化计入什么科莫网络广告策划的内容
  • 网站推广软件有哪些企业建站模板
  • 政府门户网站建设要求个人接外包的网站
  • 安徽网站建设费用济南网站推广
  • 网站优化公司服务怎么宣传自己的产品