gpt4 book ai didi

python - 使用 scrapy 抓取数据

转载 作者:行者123 更新时间:2023-11-28 03:23:33 26 4
gpt4 key购买 nike

我想从此链接http://money.moneygram.com.au/ 中删除数据(链接可以是(https://www.moneygram.com/wps/portal/moneygramonline/home/estimator?LC=en-GB)) 当我打开 html 页面以废弃数据时,即此页面上提到的汇率是我为第一个下拉按钮选择的选项是 aud(austallian currency) to usd(us dollar) 但如何在第一个选项中选择 inr(indian ruppee)。当我选择并使用此 url 时,它默认选择 aud(澳大利亚货币)。我使用的代码是......

 from __future__ import absolute_import
#import __init__
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
import MySQLdb

class DmozSpider(BaseSpider):
name = "moneygram"
allowed_domains = ["moneygram.com"]
start_urls = ["http://money.moneygram.com.au/"]

def parse(self, response):
filename = response.url.split("/")[-2]
open(filename, 'wb').write(response.body)
hxs = HtmlXPathSelector(response)

我想要选择 inr 的 html 部分是..

<div class="firstSelector">
<select id="FromCurrency_dropDown" name="FromCurrency_dropDown" style="width:100%">
<option value="AED">AED (UAE Dirham)</option>
<option value="ARS">ARS (Argentine Peso)</option>
<option selected="selected" value="AUD">AUD (Australian Dollar)</option>
<option value="BGN">BGN (Bulgarian Lev)</option>
<option value="BND">BND (Brunei Dollar)</option>
<option value="BRL">BRL (Brazilian Real)</option>
<option value="CAD">CAD (Canadian Dollar)</option>
<option value="CHF">CHF (Swiss Franc)</option>
<option value="CLP">CLP (Chilean Peso)</option>
<option value="CNH">CNH (Chinese Renminbi Off-Shore)</option>
<option value="CNY">CNY (Chinese Yuan)</option>
<option value="CZK">CZK (Czech Koruna)</option>
<option value="DKK">DKK (Danish Kroner)</option>
<option value="EGP">EGP (Egyptian Pound)</option>
<option value="EUR">EUR (Euro)</option>
<option value="FJD">FJD (Fiji Dollar)</option>
<option value="GBP">GBP (British Pound)</option>
<option value="HKD">HKD (Hong Kong Dollar)</option>
<option value="HUF">HUF (Hungarian Forint)</option>
<option value="IDR">IDR (Indonesian Rupiah)</option>
<option value="ILS">ILS (Israeli New Shekel)</option>
<option value="INR">INR (Indian Rupee)</option> ////////////"i want this to be selected"///////
<option value="ISK">ISK (Icelandic Krona)</option>
<option value="JPY">JPY (Japanese Yen)</option>
<option value="KRW">KRW (Korean Won)</option>
<option value="KWD">KWD (Kuwaiti Dinar)</option>
<option value="LKR">LKR (Sri Lanka Rupee)</option>
<option value="MAD">MAD (Moroccan Dirham)</option>
<option value="MGA">MGA (Malagasy Ariary)</option>
<option value="MXN">MXN (Mexican Peso)</option>
<option value="MYR">MYR (Malaysian Ringgit)</option>
<option value="NOK">NOK (Norway Kroner)</option>
<option value="NZD">NZD (New Zealand Dollar)</option>
<option value="OMR">OMR (Omani Rial)</option>
<option value="PEN">PEN (Peruvian Nuevo Sol)</option>
<option value="PGK">PGK (Papua New Guinea Kina)</option>

</div>

最佳答案

这是一个ajax问题。js脚本将参数传给服务器,然后服务器返回数据。

使用 chrome 工具,可以探索帖子数据的详细 url。

详细网址是“http://money.moneygram.com.au/forex-tools/currency-converter-widget-part”。

和发布表单参数:“FromCurrency=AED&ToCurrency=VND&FromCurrency_dropDown=AED&ToCurrency_dropDown=VND&FromAmount=2561&ToAmount=&X-Requested-With=XMLHttpRequest”。

所以你可以使用 scrapy POST 参数到这个 url 来获取 html 数据,并解析得到你想要的。

关于python - 使用 scrapy 抓取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22681180/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com