将不同PHP应用程序中的内容显示到单个PHP应用程序中
我正在创建一个PHP应用程序,它将根据用户位置显示一些分类广告/列表。例如: 我们来自芝加哥的分类广告:将不同PHP应用程序中的内容显示到单个PHP应用程序中,php,yii,Php,Yii,我正在创建一个PHP应用程序,它将根据用户位置显示一些分类广告/列表。例如: 我们来自芝加哥的分类广告: 第1类 分类2 分类3 现在,我还想在我自己的页面上显示一些其他分类网站的“分类广告”。像这样: 更多来自芝加哥的分类广告(courtsey ofXYZ.com) 第1类 分类2 分类3 分类4 来自芝加哥的更多分类广告(ABC.com的courtsey) 第1类 分类2 分类3 这样,用户可以看到托管在我的服务器上的分类广告,以及来自其他常见分类网站的分类广告 这可能吗?请注意
- 第1类
- 分类2
- 分类3
- 第1类
- 分类2
- 分类3
- 分类4
- 第1类
- 分类2
- 分类3
我想我可以将其他分类网站加载到“iframes”中,但我会得到整个网站(包括它们的页眉/页脚、徽标等)。我只想从他们的网站上找到一些相关的“分类”部分。你想看看如何通过爬行器和解析器设置进行屏幕抓取。您可以使用CURL或file\u get\u内容引入网页,然后使用正则表达式和字符串运算符筛选出所需的数据,然后构建一个页面来显示它。这是一个过于简化的完整答案,但如果我给你100行代码来完成这个,那将是作弊 由于缺少API或feed,我唯一能想到的就是必须提取相关的url并从中提取数据。只要标记是整洁的,用文件内容和DOMDocument混合解析数据应该很简单。我认为最好的选择是建立一个异步的web爬虫,从这些站点获取数据 您可以将其设置为每天00:00爬网,并将内容存储在数据库中,例如:
external_classified
id
site_source
city_id
extra_data
之后,您可以从PHP应用程序中获得它,而不会出现任何问题
编辑:请注意,我所考虑的解决方案是异步的!其他答案使用同步操作来获取数据。我认为一遍又一遍地获取相同的分类是浪费时间。不过,公平地说,这些解决方案更易于实现。这些站点是否通过API公开其数据?如果不是,你可能会看到屏幕抓取,这将是不好的。此外,您是否检查了他们的t+c以确保可以使用他们的数据(假设他们没有API)。没有RSS提要和API。是的,如果我在我的网站上显示他们的数据,他们是可以的。我不是托管他们的数据,只是显示分类的标题和图像。当有人点击标题时,用户将被发送到他们的站点。此外,由于他提到了Yii,他可以使用Yii的缓存系统来存储远程数据,这对于任何第三方数据都是一个好主意。