You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

请求解释从Bing提取WordPress站点的Python代码过滤逻辑

这段Python代码如何从Bing结果中过滤WordPress站点?

咱们来一步步拆解这段代码筛选WordPress站点的核心逻辑:

1. 从Bing搜索阶段就定向缩小范围

代码里构造的Bing搜索URL是关键:

bing = "http://www.bing.com/search?q=ip%3A"+s+"+?page_id=&count=50&first="+str(page)

这里的搜索关键词组合ip:s + ?page_id=直接给Bing划定了筛选规则:

  • ip:s:限定只搜索你传入的目标IP(参数s)上部署的站点
  • ?page_id=:这是WordPress特有的URL参数——WordPress默认用page_id来标识静态页面(比如xxx.com/?page_id=123),所以Bing会直接返回包含这个参数的站点结果,相当于提前帮我们做了一轮粗筛选。

2. 提取并清洗符合条件的站点域名

拿到Bing的搜索结果页面后,代码做了两步处理:

  • 用正则表达式<h2><a href="(.*?)"提取搜索结果里的所有链接地址
  • 再对每个链接用正则(.*?)\?page_id=,精准提取?page_id=前面的站点主域名(比如从https://abc.com/?page_id=456里提取出https://abc.com),把这些域名存入列表lista

3. 去重并输出最终结果

最后调用unique(lista)对列表去重(避免同一站点因多次出现在搜索结果里而重复统计),然后输出所有去重后的WordPress站点,同时统计找到的站点总数。

简单来说,这段代码的核心思路就是利用WordPress专属的page_idURL参数,先让Bing帮我们缩小范围,再提取清洗出站点域名,以此实现只过滤WordPress站点的目的。

注意:这种方法有局限性——如果WordPress站点开启了伪静态(把?page_id=xxx转换成友好的URL格式),这类站点就会被漏掉,因为它们的URL里不会出现page_id参数。

内容的提问来源于stack exchange,提问作者Brahim

火山引擎 最新活动