我试图num1**num2
在Python中计算一些.但问题是,num1
是93192289535368032L
和num2
是84585482668812077L
,这是非常大的数字.
我尝试了几种方法如下:首先,我尝试使用**
运算符来计算它.但是花了太多时间(我等了大约2个小时,但没有结果).
第二,我用过math.pow(num1, num2)
.但我得到了这个:
Traceback (most recent call last): File "<pyshell#23>", line 1, in <module>
math.pow(84585482668812077L, 93192289535368032L)
OverflowError: math range error
Run Code Online (Sandbox Code Playgroud)
最后,我使用了numpy.power
:
numpy.power(84585482668812077, 93192289535368032)
-9223372036854775808
Run Code Online (Sandbox Code Playgroud)
如你所见,它给了我减去.
我真正想做的就是result = (num1**num2)
然后result % num3
.所以,我需要有效地计算这个功率值.
我怎样才能做到这一点?
我想从在线新闻中抓取网络评论数据,纯粹是为了研究。我注意到我必须学习 Scrapy ......
通常,我使用 Python 进行编程。我虽然它会很容易学习。但是我遇到了一些问题。
我想在http://news.yahoo.com/congress-wary--but-unlikely-to-blow-up-obama-s-iran-deal-230545228.html 中抓取新闻评论。
但问题是有一个按钮(>查看评论(452))来查看评论。此外,我想做的是抓取该新闻中的所有评论。不幸的是,我必须单击另一个按钮(查看更多评论)才能查看其他 10 条评论。
我该如何处理这个问题?
我所做的代码如下。抱歉代码太差。
#############################################
from scrapy.spider import BaseSpider
from scrapy.selector import Selector
from tutorial.items import DmozItem
class DmozSpider(BaseSpider):
name = "dmoz"
allowed_domains = ["news.yahoo.com"]
start_urls = ["http://news.yahoo.com/blogs/oddnews/driver-offended-by-%E2%80%9Cwh0-r8x%E2`%80%9D-license-plate-221720503.html",]
def parse(self, response):
sel = Selector(response)
sites = sel.xpath('//div/p')
items = []
for site in sites:
item = DmozItem()
item['title'] = site.xpath('/text()').extract()
items.append(item)
return items
Run Code Online (Sandbox Code Playgroud)
你可以看到还需要做多少来解决我的问题。但我得快点……反正我会尽力的。