php - Tor 网络爬虫

标签 php proxy web-crawler tor transparentproxy

好的,这就是我需要的。 我有一个基于 PHP 的网络爬虫。 它可以在这里访问: http://rz7ocnxxu7ka6ncv.onion/ 现在,我的问题是我的蜘蛛实际上需要在 SOCKS 端口 9050 上抓取页面。问题是,我必须通过 Tor 建立连接,以便它可以解析 .onion 域,这就是我正在索引的内容. (仅以 .onion 结尾。) 我使用 php crawl.php 从命令行调用此脚本,并添加适当的参数来抓取页面。 这是我的想法: 有什么办法可以强制它使用 Tor? 或者我可以强制我的整个机器通过 Tor 隧道,如何? (比如强制所有流量通过 127.0.0.1:9050) 也许如果我设置全局代理设置,php 会遵守它们吗?

如果我的任何解决方案有效,我会怎么做? (请逐步说明,我是菜鸟。)

我只想创建自己的 Tor 搜索引擎。 (不要推荐我的 p2p 搜索引擎——这不是我想要的——我知道它们存在,我做了我的功课。) 如果您有兴趣查看,这是爬虫源: 或许有好心人可以修改为所有爬取请求都使用127.0.0.1:9050? http://pastebin.com/kscGJCc5

最佳答案

cURL 还支持 SOCKS 连接;试试这个:

<?php

$ch = curl_init('http://google.com'); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); 

// SOCKS5
curl_setopt($ch, CURLOPT_PROXY, 'localhost:9050'); 
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);

curl_exec($ch); 
curl_close($ch);

关于php - Tor 网络爬虫,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9237477/

相关文章:

java - 在Java的帮助下爬行网页以获取与关键字相关的有意义内容的最佳方法是什么?

grails - groovy中的Web爬虫和Grails每天都要爬网

kubernetes - 如何为 Kubernetes 中服务或部署的所有 Pod 分配一个静态源 IP 地址?

php - MySQL数据库查询-速度

php - 如何使用 phpunit-selenium 设置元素属性

php - 我是否正确理解了如何使用 Zend Framework 构建强大的 php 后端?

基于请求正文内容的nginx条件代理传递

android - 如何使用 Android Studio 2.1 和 Charles 代理抓取 http 流量?

database - 爬虫应用的数据库系统

php - Laravel Eloquent 关系无 key