python twisted文档_Python Twisted:在表单中发布

嗨,伙计们!

我仍然在发现Twisted,我已经编写了这个脚本,将HTML表的内容解析成excel。这个剧本效果很好!我的问题是,我如何才能做到这一点,只有一个网页(http://bandscore.ielts.org/)但是有很多POST请求能够获取所有结果,用beautifulSoup解析它,然后将它们放入excel?在

解析源代码并将其放入excel是可以的,但是我不知道如何用Twisted执行POST请求,以便在中实现它

这是我用来解析(Twisted)许多不同页面的脚本

(我希望能够编写相同的脚本,但在同一页面上有很多不同的POST数据,而不是很多页面):from twisted.web import client

from twisted.internet import reactor, defer

from bs4 import BeautifulSoup as BeautifulSoup

import time

import xlwt

start = time.time()

wb = xlwt.Workbook(encoding='utf-8')

ws = wb.add_sheet("BULATS_IA_PARSED")

global x

x = 0

Countries_List = ['Afghanistan','Armenia','Brazil','Argentina','Armenia','Australia','Austria','Azerbaijan','Bahrain','Bangladesh','Belgium','Belize','Bolivia','Bosnia and Herzegovina','Brazil','Brunei Darussalam','Bulgaria','Cameroon','Canada','Central African Republic','Chile','China','Colombia','Costa Rica','Croatia','Cuba','Cyprus','Czech Republic','Denmark','Dominican Republic','Ecuador','Egypt','Eritrea','Estonia','Ethiopia','Faroe Islands','Fiji','Finland','France','French Polynesia','Georgia','Germany','Gibraltar','Greece','Grenada','Hong Kong','Hungary','Iceland','India','Indonesia','Iran','Iraq','Ireland','Israel','Italy','Jamaica','Japan','Jordan','Kazakhstan','Kenya','Kuwait','Latvia','Lebanon','Libya','Liechtenstein','Lithuania','Luxembourg','Macau','Macedonia','Malaysia','Maldives','Malta','Mexico','Monaco','Montenegro','Morocco','Mozambique','Myanmar (Burma)','Nepal','Netherlands','New Caledonia','New Zealand','Nigeria','Norway','Oman','Pakistan','Palestine','Papua New Guinea','Paraguay','Peru','Philippines','Poland','Portugal','Qatar','Romania','Russia','Saudi Arabia','Serbia','Singapore','Slovakia','Slovenia','South Africa','South Korea','Spain','Sri Lanka','Sweden','Switzerland','Syria','Taiwan','Thailand','Trinadad and Tobago','Tunisia','Turkey','Ukraine','United Arab Emirates','United Kingdom','United States','Uruguay','Uzbekistan','Venezuela','Vietnam']

urls = ["http://www.cambridgeesol.org/institutions/results.php?region=%s&type=&BULATS=on" % Countries for Countries in Countries_List]

def finish(results):

global x

for result in results:

print 'GOT PAGE', len(result), 'bytes'

soup = BeautifulSoup(result)

tableau = soup.findAll('table')

try:

rows = tableau[3].findAll('tr')

print("Fetching")

for tr in rows:

cols = tr.findAll('td')

y = 0

x = x + 1

for td in cols:

texte_bu = td.text

texte_bu = texte_bu.encode('utf-8')

#print("Writing...")

#print texte_bu

ws.write(x,y,td.text)

y = y + 1

except(IndexError):

print("No IA for this country")

pass

reactor.stop()

waiting = [client.getPage(url) for url in urls]

defer.gatherResults(waiting).addCallback(finish)

reactor.run()

wb.save("IALOL.xls")

print "Elapsed Time: %s" % (time.time() - start)

提前非常感谢您的帮助!在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值