我正在使用Nginx和最新的PHP运行Ubuntu 12.04.故事是这样的:我试图按照ubuntu的说明安装新的遗留PHP代理:
wget -O - http://download.newrelic.com/548C16BF.gpg | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.newrelic.com/debian/ newrelic non-free"
> /etc/apt /sources.list.d/newrelic.list'
sudo apt-get update
sudo apt-get install newrelic-php5
sudo newrelic-install install
Run Code Online (Sandbox Code Playgroud)
它不起作用.在所有事情之后,PHP代理根本无法启动.我甚至掀起了一个快速phpinfo.php页面,看看是否列出了newrelic模块,但事实并非如此.然后我用Google搜索了"New relic .deb"并看到了这个页面:https://docs.newrelic.com/docs/server/server-monitor-installation-ubuntu-and-debian并按照说明进行操作.安装全部通过,但代理也无法启动.我喜欢保持我的服务器干净,所以我决定"好吧,因为它不起作用,直到新的遗物支持回到我身边,我可以从新的开始,我将删除已安装的新遗物".所以我再次按照该链接上的说明进行操作.安装似乎正常.但是,如果我执行命令" PHP",我会收到以下错误:
root@MYHOSTNAME:/home# php
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212
/newrelic.so' - /usr/lib/php5/20121212/newrelic.so: cannot open shared object file:
No such file or directory in Unknown on line 0
Run Code Online (Sandbox Code Playgroud)
我确保在我的/etc/php/fpm/php.ini文件中没有引用newrelic 并仔细检查以查看该文件夹中是否有任何内容.没有.
所以我的问题是:如何摆脱错误?如何让PHP停止尝试加载newrelic.so模块?在某些我可能会遗漏的地方是否有任何提及?
我需要一个Scrapy蜘蛛来为每个URL(30个产品,所以30个网址)抓取以下页面(https://www.phidgets.com/?tier=1&catid=64&pcid=57),然后通过该网址进入每个产品并刮掉里面的数据.
我的第二部分正如我想要的那样工作:
import scrapy
class ProductsSpider(scrapy.Spider):
name = "products"
start_urls = [
'https://www.phidgets.com/?tier=1&catid=64&pcid=57',
]
def parse(self, response):
for info in response.css('div.ph-product-container'):
yield {
'product_name': info.css('h2.ph-product-name::text').extract_first(),
'product_image': info.css('div.ph-product-img-ctn a').xpath('@href').extract(),
'sku': info.css('span.ph-pid').xpath('@prod-sku').extract_first(),
'short_description': info.css('div.ph-product-summary::text').extract_first(),
'price': info.css('h2.ph-product-price > span.price::text').extract_first(),
'long_description': info.css('div#product_tab_1').extract_first(),
'specs': info.css('div#product_tab_2').extract_first(),
}
# next_page = response.css('div.ph-summary-entry-ctn a::attr("href")').extract_first()
# if next_page is not None:
# yield response.follow(next_page, self.parse)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何做第一部分.正如您将看到我将主页面(https://www.phidgets.com/?tier=1&catid=64&pcid=57)设置为start_url.但是如何使用我需要抓取的所有30个网址来填充start_urls列表呢?