小编Sib*_*ain的帖子

使用Scrapy进行Python数据抓取

我想从一个有TextFields,Buttons等的网站上抓取数据.我的要求是填写文本字段并提交表单以获得结果,然后从结果页面中抓取数据点.

我想知道Scrapy是否具有此功能,或者如果有人可以推荐Python中的库来完成此任务?

(编辑)
我想从以下网站获取数据:http:
//a836-acris.nyc.gov/DS/DocumentSearch/DocumentType

我的要求是从ComboBoxes中选择值并点击搜索按钮并从结果页面中抓取数据点.

PS我正在使用selenium Firefox驱动程序从其他网站获取数据,但该解决方案并不好,因为selenium Firefox驱动程序依赖于FireFox的EXE,即必须在运行刮刀之前安装Firefox.

Selenium Firefox驱动程序为一个实例消耗大约100MB内存,我的要求是一次运行大量实例以使抓取过程快速,因此也存在内存限制.

Firefox在执行刮刀时有时会崩溃,不知道为什么.此外,我需要窗口少刮,这在Selenium Firefox驱动程序的情况下是不可能的.

我的最终目标是在Heroku上运行刮刀,我在那里拥有Linux环境,因此selenium Firefox驱动程序无法在Heroku上运行.谢谢

python scrapy web-scraping python-2.7

8
推荐指数
1
解决办法
1万
查看次数

FOR中的SQL查询动态表名称

我有一个表tbl1,它有一个列tbl_names.此列包含其他一些表的名称.
现在我想用以下格式编写查询:
select * from (select tbl_names from tbl1)

我知道上面的查询不起作用,但我怎么能做到这一点?我是否需要编写存储过程或类似的东西并循环第二个查询的每个值并执行第一个查询?

谢谢

mysql sql postgresql

7
推荐指数
1
解决办法
4577
查看次数

使用变量的Laravel刀片@include视图

我有一些刀片模板文件,我希望根据会话中存储的当前用户的权限动态地包含在我的视图中.以下是我写的代码:

@foreach (Config::get('constants.tiles') as $tile)
    @if (Session::get('currentUser')->get('permissions')[$tile]['read'] == 1)
        @include('dashboard.tiles.' . $tile)
    @endif
@endforeach
Run Code Online (Sandbox Code Playgroud)

Blade不允许我将常量字符串与变量$ tile的值连接起来.但我想实现这个功能.任何有关这方面的帮助将受到高度赞赏.

laravel blade laravel-4

5
推荐指数
1
解决办法
5757
查看次数

使用scrapy产生多个项目

我正在从以下 URL 抓取数据:http : //www.indexmundi.com/commodities/? commodity=
gasoline

有两个部分包含价格:墨西哥湾沿岸汽油期货日终结算价汽油每日价格

我想从两个部分中抓取数据作为两个不同的项目。这是我写的代码:

if dailyPrice:
        item['description'] = u''.join(dailyPrice.xpath(".//h1/text()").extract())
        item['price'] = u''.join(dailyPrice.xpath(".//span/text()").extract())
        item['unit'] =  dailyPrice.xpath(".//div/p/text()").extract()[0].split(',')[-1]
        regex = re.compile("Source:(.*)",re.IGNORECASE|re.UNICODE)
        result = re.search(regex, u''.join(dailyPrice.xpath(".//div/p/text()").extract()))
        if result:
            item['source'] = result.group(1).strip()

        yield item


if futurePrice:
        item['description'] = u''.join(futurePrice.xpath(".//h1/text()").extract())
        item['price'] = u''.join(futurePrice.xpath(".//span/text()").extract())
        item['unit'] =  u''.join(futurePrice.xpath(".//div[2]/table//tr[1]/td/text()").extract())
        source = futurePrice.xpath(".//div[2]/table//tr[4]/td/a/text()").extract()
        if source:
            item['source'] = u' - '.join(source)
        else:
            item['source'] = ''

        yield item
Run Code Online (Sandbox Code Playgroud)

我想知道这段代码是否可以正常工作,或者应该采取什么正确的方法来做到这一点?

web-crawler scrapy web-scraping python-2.7

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

如何使用Dapper映射MySQL JSON列

我在MySQL数据库中有一个表,其中包含一个JSON数据类型列.是否可以检索存储在该列中的JSON数据并使用Dapper映射到我的c#类?下面是关于数据如何存储在列中的示例JSON.

[
        {
            "ServerName": "",
            "Priority": 1,
            "FilesystemBasePath": "",
            "IsAvailable": 1,
            "ApplicationDocumentType": ""
        },
        {
            "ServerName": "",
            "Priority": 2,
            "FilesystemBasePath": "",
            "IsAvailable": 1,
            "ApplicationDocumentType": ""
        }
]
Run Code Online (Sandbox Code Playgroud)

我希望数据映射到List<MyObject>C#中的类型.

.net c# mysql json dapper

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