小编Uma*_*air的帖子

如何使用XPath - Scrapy从SELECT列表中获取最后一个OPTION

我正在使用这个选择器,但它给出了错误

//*[@id="quantity"]/option/[last()-1]

如何选择最后一个OPTION?

我正在使用Scrapy Framework.

python scrapy

4
推荐指数
1
解决办法
3280
查看次数

Scrapy 不处理 Xpath 和 CSS 选择器中的 TBODY

我正在尝试解析此 HTML。

<table id="ctl00_LeftColumnMiddle_Table1" border="0">
    <tbody>
        <tr>
            <td>
                <table border="0">
                    <tbody>
                        <tr>
                            <td >Contractor Name</td><td>UNITED RENTALS HIGHWAY TECHNOLOGIES INC</td>
                        </tr>

                    </tbody>
                </table>
            </td>
        </tr>
        <tr>
            <td><table border="0">
                    <tbody>
                        <tr>
                            <td >Contractor Name</td><td>UNITED RENTALS NORTHWEST INC</td>
                        </tr>

                    </tbody>
                </table>

            </td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

它有几个TR,每个#ctl00_LeftColumnMiddle_Table1都有一个table内部tr

我想处理每条记录(实际上是一个 TR),然后处理每条记录的详细信息。

我试过这些选择器/Xpaths。

Selector(response).xpath('//*[@id="ctl00_LeftColumnMiddle_Table1"]/tbody/tr')
Run Code Online (Sandbox Code Playgroud)

Selector(response).css('#ctl00_LeftColumnMiddle_Table1 > tbody >tr')
Run Code Online (Sandbox Code Playgroud)

但这不会返回任何结果。

但如果我这样做

Selector(response).css('#ctl00_LeftColumnMiddle_Table1 tr')
Run Code Online (Sandbox Code Playgroud)

但是这个表达式也选择了内部trs with Contractor Nametoo。

这是 Scrapy 中的错误吗?

如果是,有没有其他方法可以按照我想要的方式处理记录?

css python xpath scrapy python-2.7

4
推荐指数
1
解决办法
2630
查看次数

如何在Python 3.6中解决UnicodeDecodeError?

我从Python 2.7切换到Python 3.6。

我有处理某些非英语内容的脚本。

我通常通过Cron和Terminal运行脚本。

我的python 2.7脚本中出现了UnicodeDecodeError,我解决了这个问题。

# encoding=utf8  
import sys  

reload(sys)  
sys.setdefaultencoding('utf8')
Run Code Online (Sandbox Code Playgroud)

现在在Python 3.6中,它不起作用。我有类似的打印语句print("Here %s" % (myvar)),它会引发错误。我可以通过将其替换为来解决此问题,myvar.encode("utf-8")但我不想用每个print语句编写。

PYTHONIOENCODING=utf-8在终端机上做了,但仍然有这个问题。

有没有更清洁的方法来解决UnicodeDecodeErrorPython 3.6中的问题?

有没有办法告诉Python3在utf-8中打印所有内容?就像我在Python2中所做的一样?

python unicode python-3.x

4
推荐指数
2
解决办法
9315
查看次数

为我的游戏创建安装程序(.exe)

我用Glut C++构建了一个保龄球游戏并拥有我的.exe文件.

现在我想为这个游戏创建一个安装程序.

我想做的是: -

当我的安装程序运行时,glut32.dll被粘贴到system32文件夹中,我的游戏的.exe文件在桌面或任何地方.

我怎样才能做到这一点.我猜Iexpress无法做到这一点.

注意: - 必须在system32文件夹中存在glut32.dll才能运行此游戏.

c++ windows windows-installer exe

3
推荐指数
1
解决办法
1427
查看次数

`xxxx':看起来像一个函数定义,但是没有参数列表; 跳过明显的身体

我有下面的代码是一个保龄球游戏.这段代码在Eclipse中工作得很好,但我把它移到了适用于Windows桌面的microsoft visual studio express 2012,它给出了以下错误.

错误1错误C2470:'cone1':看起来像一个函数定义,但是没有参数列表; 跳过明显的正文c:\ users\rocckky\documents\visual studio 2012\projects\consoleapplication1\consoleapplication1\consoleapplication1.cpp 26 1 ConsoleApplication1

注意: - 我没有粘贴所有错误,它给出了同样的错误 类型锥体已定义.

#include "stdafx.h"
#include "cstdlib"
#include "GL/glut.h"
#include "GL/glu.h"
#include "stdlib.h"

#include "vector"
using namespace std;
int refreshMillis = 30; // Refresh period in milliseconds
int windowWidth = 640; // Windowed mode's width
int windowHeight = 480; // Windowed mode's height
int windowPosX = 50; // Windowed mode's top-left corner x
int windowPosY = 50; // Windowed mode's top-left corner …
Run Code Online (Sandbox Code Playgroud)

c++ eclipse opengl windows-8 visual-studio-2012

3
推荐指数
1
解决办法
1542
查看次数

在Foreach循环内使用FILTER()-PHP Goutte

我有这个代码

require_once'vendor / autoload.php';

使用Symfony \ Component \ DomCrawler \ Crawler;

$html = <<<'HTML'
<!DOCTYPE html>
<html>
    <body>
        <p class="message">Hello World!
        <span>This is span</span>
        </p>
        <p>Hello Crawler!
                <span>This is span</span>
    </p>
    </body>
</html>
HTML;

$crawler = new Crawler($html);

foreach ($crawler->filter('body') as $domElement) {
   $domElement->filter('span');
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误。

Fatal error: Call to undefined method DOMElement::filter() 
Run Code Online (Sandbox Code Playgroud)

我需要知道如何CSS Selectors在该Foreach循环中使用元素来选择元素?

我搜索了很多,但没有找到任何东西。

php symfony goutte

3
推荐指数
2
解决办法
2628
查看次数

使用正则表达式匹配精确的数字和单词数 - Python27

我有这个字符串。

P O BOX 32370, CA 92263
Run Code Online (Sandbox Code Playgroud)

还有这个正则表达式\w{2} \d{5}

但它与粗体的两个文本都匹配。“POB OX 32370CA 92263

实际上我想提取州和邮政编码。

我想抓取文本开头和一个空格,然后是精确的 2 个字母,然后是一个空格,然后是精确的 5 个数字。

python regex python-2.7

3
推荐指数
1
解决办法
5983
查看次数

从 Scrapinghub 下载项目的源代码

我在Scrapinghub 上部署了一个项目,我根本没有该代码的任何副本。

如何从 Scrapinghub 在我的本地主机上下载整个项目的代码?

python scrapy scrapinghub

3
推荐指数
1
解决办法
451
查看次数

设置列宽度时的键错误 - OpenPyXL

设置列的宽度时出错

workbook = Workbook()

#Add a sheet
worksheet = workbook.active

worksheet.column_dimensions["C"].width = 60.0
Run Code Online (Sandbox Code Playgroud)

这是错误.

KeyError: 'C'
Run Code Online (Sandbox Code Playgroud)

python python-3.x openpyxl

2
推荐指数
1
解决办法
7511
查看次数

如何在Python中捕获此特定异常 - amazon.api

我正在使用的API:https://pypi.python.org/pypi/python-amazon-simple-product-api

我有我的部分代码

from amazon.api import AmazonAPI
products = self.amazon_api.search_n(1, Keywords=item['upc'], SearchIndex='All')
Run Code Online (Sandbox Code Playgroud)

我得到的例外

SearchException: Amazon Search Error: 'AWS.ECommerceService.NoExactMatches', 'We did not find any matches for your request.'
Run Code Online (Sandbox Code Playgroud)

我试着像这样抓住它

try:
    products = self.amazon_api.search_n(1, Keywords=item['upc'], SearchIndex='All')
    found_match = True
except SearchException:
    logging.warning("No search result found on Amazon for UPC: %s"%(item['upc']))
    found_match = False
Run Code Online (Sandbox Code Playgroud)

但是我得到了

NameError: global name 'SearchException' is not defined
Run Code Online (Sandbox Code Playgroud)

然后我在脚本的开头做了这个

from AWS.ECommerceService.NoExactMatches import SearchException
Run Code Online (Sandbox Code Playgroud)

但后来我得到了这个错误

ImportError: No module named AWS.ECommerceService.NoExactMatches
Run Code Online (Sandbox Code Playgroud)

我的问题是我如何默默地捕获这个特定的SearchException例外?

python api amazon-web-services

2
推荐指数
1
解决办法
161
查看次数