Scrapy: find HTTP call from button click
I am trying to scrape flyers from flipp.com/weekly_ads using Scrapy. Before I can scrape the flyers, I need to input my area code, and search for local flyers (on the site, this is done by clicking a button).
I am trying to input a value, and simualate "clicking a button" using Scrapy.
Initially, I thought that I would be able to use a FormRequest.from_response to search for the form, and input my area code as a value. However, the button is written in javascript, meaning that the form cannot be found.
So, I tried to find the HTTP call via Inspect Element > Developer Tools > Network > XHR to see if any of the calls would load the equivalent flipp page with the new, inputted area code (my area code).
Now, I am very new to Scrapy, and HTTP requests/responses, so I am unsure if the link I found is the correct one (as in, the response with the new area code), or not.
This is the request I found:
https://gateflipp.flippback.com/bf/flipp/data?locale=en-us&postal_code=90210&sid=10775773055673477
I used an arbitrary postal code for the request (90210).
I suspect this is the incorrect request, but in the case that I am wrong, and this is correct:
How do I navigate to - flipp.com/weekly_ads/groceries from this request, while maintaining the new area code?
If this is incorrect:
How do I input a value for a javascript button, and get the result using Scrapy?
import scrapy
import requests
import json
class flippSpider(scrapy.Spider):
name = "flippSpider"
postal_code = "M1T2R8"
start_urls = ["https://flipp.com/weekly_ads"]
def parse(self, response): #Input value and simulate button click
return Request() #Find http call to simulate button click with correct field/value parameters
def parse_formrequest(self, response):
yield scrapy.Request("https://flipp.com/weekly_ads/groceries", callback= self.parse_groceries)
def parse_groceries(self, response):
flyers =
flyer_names = response.css("class.flyer-name").extract()
for flyer_name in flyer_names:
flyer = FlippspiderItem()
flyer["name"] = flyer_name
flyers.append(flyer)
self.log(flyer["name"])
print(flyer_name)
return flyers
I expected to find the actual javascript button request within the XHR links but the one I found seems to be incorrect.
Edit: I do not want to use Selenium, it's slow, and I do not want a browser to pop up during execution of the spider.
scrapy
add a comment |
I am trying to scrape flyers from flipp.com/weekly_ads using Scrapy. Before I can scrape the flyers, I need to input my area code, and search for local flyers (on the site, this is done by clicking a button).
I am trying to input a value, and simualate "clicking a button" using Scrapy.
Initially, I thought that I would be able to use a FormRequest.from_response to search for the form, and input my area code as a value. However, the button is written in javascript, meaning that the form cannot be found.
So, I tried to find the HTTP call via Inspect Element > Developer Tools > Network > XHR to see if any of the calls would load the equivalent flipp page with the new, inputted area code (my area code).
Now, I am very new to Scrapy, and HTTP requests/responses, so I am unsure if the link I found is the correct one (as in, the response with the new area code), or not.
This is the request I found:
https://gateflipp.flippback.com/bf/flipp/data?locale=en-us&postal_code=90210&sid=10775773055673477
I used an arbitrary postal code for the request (90210).
I suspect this is the incorrect request, but in the case that I am wrong, and this is correct:
How do I navigate to - flipp.com/weekly_ads/groceries from this request, while maintaining the new area code?
If this is incorrect:
How do I input a value for a javascript button, and get the result using Scrapy?
import scrapy
import requests
import json
class flippSpider(scrapy.Spider):
name = "flippSpider"
postal_code = "M1T2R8"
start_urls = ["https://flipp.com/weekly_ads"]
def parse(self, response): #Input value and simulate button click
return Request() #Find http call to simulate button click with correct field/value parameters
def parse_formrequest(self, response):
yield scrapy.Request("https://flipp.com/weekly_ads/groceries", callback= self.parse_groceries)
def parse_groceries(self, response):
flyers =
flyer_names = response.css("class.flyer-name").extract()
for flyer_name in flyer_names:
flyer = FlippspiderItem()
flyer["name"] = flyer_name
flyers.append(flyer)
self.log(flyer["name"])
print(flyer_name)
return flyers
I expected to find the actual javascript button request within the XHR links but the one I found seems to be incorrect.
Edit: I do not want to use Selenium, it's slow, and I do not want a browser to pop up during execution of the spider.
scrapy
add a comment |
I am trying to scrape flyers from flipp.com/weekly_ads using Scrapy. Before I can scrape the flyers, I need to input my area code, and search for local flyers (on the site, this is done by clicking a button).
I am trying to input a value, and simualate "clicking a button" using Scrapy.
Initially, I thought that I would be able to use a FormRequest.from_response to search for the form, and input my area code as a value. However, the button is written in javascript, meaning that the form cannot be found.
So, I tried to find the HTTP call via Inspect Element > Developer Tools > Network > XHR to see if any of the calls would load the equivalent flipp page with the new, inputted area code (my area code).
Now, I am very new to Scrapy, and HTTP requests/responses, so I am unsure if the link I found is the correct one (as in, the response with the new area code), or not.
This is the request I found:
https://gateflipp.flippback.com/bf/flipp/data?locale=en-us&postal_code=90210&sid=10775773055673477
I used an arbitrary postal code for the request (90210).
I suspect this is the incorrect request, but in the case that I am wrong, and this is correct:
How do I navigate to - flipp.com/weekly_ads/groceries from this request, while maintaining the new area code?
If this is incorrect:
How do I input a value for a javascript button, and get the result using Scrapy?
import scrapy
import requests
import json
class flippSpider(scrapy.Spider):
name = "flippSpider"
postal_code = "M1T2R8"
start_urls = ["https://flipp.com/weekly_ads"]
def parse(self, response): #Input value and simulate button click
return Request() #Find http call to simulate button click with correct field/value parameters
def parse_formrequest(self, response):
yield scrapy.Request("https://flipp.com/weekly_ads/groceries", callback= self.parse_groceries)
def parse_groceries(self, response):
flyers =
flyer_names = response.css("class.flyer-name").extract()
for flyer_name in flyer_names:
flyer = FlippspiderItem()
flyer["name"] = flyer_name
flyers.append(flyer)
self.log(flyer["name"])
print(flyer_name)
return flyers
I expected to find the actual javascript button request within the XHR links but the one I found seems to be incorrect.
Edit: I do not want to use Selenium, it's slow, and I do not want a browser to pop up during execution of the spider.
scrapy
I am trying to scrape flyers from flipp.com/weekly_ads using Scrapy. Before I can scrape the flyers, I need to input my area code, and search for local flyers (on the site, this is done by clicking a button).
I am trying to input a value, and simualate "clicking a button" using Scrapy.
Initially, I thought that I would be able to use a FormRequest.from_response to search for the form, and input my area code as a value. However, the button is written in javascript, meaning that the form cannot be found.
So, I tried to find the HTTP call via Inspect Element > Developer Tools > Network > XHR to see if any of the calls would load the equivalent flipp page with the new, inputted area code (my area code).
Now, I am very new to Scrapy, and HTTP requests/responses, so I am unsure if the link I found is the correct one (as in, the response with the new area code), or not.
This is the request I found:
https://gateflipp.flippback.com/bf/flipp/data?locale=en-us&postal_code=90210&sid=10775773055673477
I used an arbitrary postal code for the request (90210).
I suspect this is the incorrect request, but in the case that I am wrong, and this is correct:
How do I navigate to - flipp.com/weekly_ads/groceries from this request, while maintaining the new area code?
If this is incorrect:
How do I input a value for a javascript button, and get the result using Scrapy?
import scrapy
import requests
import json
class flippSpider(scrapy.Spider):
name = "flippSpider"
postal_code = "M1T2R8"
start_urls = ["https://flipp.com/weekly_ads"]
def parse(self, response): #Input value and simulate button click
return Request() #Find http call to simulate button click with correct field/value parameters
def parse_formrequest(self, response):
yield scrapy.Request("https://flipp.com/weekly_ads/groceries", callback= self.parse_groceries)
def parse_groceries(self, response):
flyers =
flyer_names = response.css("class.flyer-name").extract()
for flyer_name in flyer_names:
flyer = FlippspiderItem()
flyer["name"] = flyer_name
flyers.append(flyer)
self.log(flyer["name"])
print(flyer_name)
return flyers
I expected to find the actual javascript button request within the XHR links but the one I found seems to be incorrect.
Edit: I do not want to use Selenium, it's slow, and I do not want a browser to pop up during execution of the spider.
scrapy
scrapy
edited Dec 27 '18 at 22:42
asked Dec 27 '18 at 22:09
Tim Roberts
11
11
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
I suspect this is the incorrect request, but in the case that I am wrong, and this is correct:
That is the correct URL to get the data powering that website; the things you see on screen when you go to flipp.com/weekly_ads/groceries
is just packaging that data in HTML
How do I navigate to - flipp.com/weekly_ads/groceries from this request, while maintaining the new area code?
I am pretty sure you are asking the wrong question. You don't need to -- and in fact navigating to flipp.com/weekly_ads/groceries
will 100% not do what you want anyway. You can observe that when you click on "Groceries", the content changes but the browser does not navigate to any new page, nor does it make a new XHR request. Thus, everything that you need is in that JSON. What is happening is they are using the flyers.*.categories
that contains "Groceries"
to narrow down the 129 flyers that are returned to just those related to Groceries.
As for "maintaining the new area code," it's a similar "wrong question" because every piece of data that is returned by that XHR is scoped to the postal code in question. Thus, you don't need to re-submit anything, and nor would I expect any data that comes back from your postal_code=90210
request to contain 30309
(or whatever) data.
Believe it or not, you're actually in a great place: you don't need to deal with complicated CSS or XPath queries to liberate the data from its HTML prison: they are kind enough to provide you with an API to their data. You just need to deal with unpacking the content from their structure into your own.
Thank you for your answer, very reassuring that I have the correct URL. 2 quick followup questions though: I notice the "sid" parameter within the URL which I'm assuming is some kind of ID to identify a unique user. Will I be able to change the postal_code value to scrape flyers from any arbitrary postal code using this "sid"? Secondly, if this program were to be used be multiple users, would they also be able to use this URL to scrape flyers, but using their postal code?
– Tim Roberts
Dec 29 '18 at 17:54
I actually wasn't able to find any other reference to thatsid
in the requests, so it's also possible it's a "cache busting" parameter. For sure try to leave it off and see what happens. I would guess thatpostal_code
andsid
are unrelated, but only experimentation will say for sure. And yes, I would expect any number of people could use that URL, because by definition they already do when they load the site in their browser
– Matthew L Daniel
Dec 29 '18 at 18:25
Just tried it without the "sid" parameter, seems to be exactly the same except for a few lines near the beginning of the HTML. Not sure what it does though. Thank you for your help!
– Tim Roberts
Dec 29 '18 at 18:34
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53951362%2fscrapy-find-http-call-from-button-click%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I suspect this is the incorrect request, but in the case that I am wrong, and this is correct:
That is the correct URL to get the data powering that website; the things you see on screen when you go to flipp.com/weekly_ads/groceries
is just packaging that data in HTML
How do I navigate to - flipp.com/weekly_ads/groceries from this request, while maintaining the new area code?
I am pretty sure you are asking the wrong question. You don't need to -- and in fact navigating to flipp.com/weekly_ads/groceries
will 100% not do what you want anyway. You can observe that when you click on "Groceries", the content changes but the browser does not navigate to any new page, nor does it make a new XHR request. Thus, everything that you need is in that JSON. What is happening is they are using the flyers.*.categories
that contains "Groceries"
to narrow down the 129 flyers that are returned to just those related to Groceries.
As for "maintaining the new area code," it's a similar "wrong question" because every piece of data that is returned by that XHR is scoped to the postal code in question. Thus, you don't need to re-submit anything, and nor would I expect any data that comes back from your postal_code=90210
request to contain 30309
(or whatever) data.
Believe it or not, you're actually in a great place: you don't need to deal with complicated CSS or XPath queries to liberate the data from its HTML prison: they are kind enough to provide you with an API to their data. You just need to deal with unpacking the content from their structure into your own.
Thank you for your answer, very reassuring that I have the correct URL. 2 quick followup questions though: I notice the "sid" parameter within the URL which I'm assuming is some kind of ID to identify a unique user. Will I be able to change the postal_code value to scrape flyers from any arbitrary postal code using this "sid"? Secondly, if this program were to be used be multiple users, would they also be able to use this URL to scrape flyers, but using their postal code?
– Tim Roberts
Dec 29 '18 at 17:54
I actually wasn't able to find any other reference to thatsid
in the requests, so it's also possible it's a "cache busting" parameter. For sure try to leave it off and see what happens. I would guess thatpostal_code
andsid
are unrelated, but only experimentation will say for sure. And yes, I would expect any number of people could use that URL, because by definition they already do when they load the site in their browser
– Matthew L Daniel
Dec 29 '18 at 18:25
Just tried it without the "sid" parameter, seems to be exactly the same except for a few lines near the beginning of the HTML. Not sure what it does though. Thank you for your help!
– Tim Roberts
Dec 29 '18 at 18:34
add a comment |
I suspect this is the incorrect request, but in the case that I am wrong, and this is correct:
That is the correct URL to get the data powering that website; the things you see on screen when you go to flipp.com/weekly_ads/groceries
is just packaging that data in HTML
How do I navigate to - flipp.com/weekly_ads/groceries from this request, while maintaining the new area code?
I am pretty sure you are asking the wrong question. You don't need to -- and in fact navigating to flipp.com/weekly_ads/groceries
will 100% not do what you want anyway. You can observe that when you click on "Groceries", the content changes but the browser does not navigate to any new page, nor does it make a new XHR request. Thus, everything that you need is in that JSON. What is happening is they are using the flyers.*.categories
that contains "Groceries"
to narrow down the 129 flyers that are returned to just those related to Groceries.
As for "maintaining the new area code," it's a similar "wrong question" because every piece of data that is returned by that XHR is scoped to the postal code in question. Thus, you don't need to re-submit anything, and nor would I expect any data that comes back from your postal_code=90210
request to contain 30309
(or whatever) data.
Believe it or not, you're actually in a great place: you don't need to deal with complicated CSS or XPath queries to liberate the data from its HTML prison: they are kind enough to provide you with an API to their data. You just need to deal with unpacking the content from their structure into your own.
Thank you for your answer, very reassuring that I have the correct URL. 2 quick followup questions though: I notice the "sid" parameter within the URL which I'm assuming is some kind of ID to identify a unique user. Will I be able to change the postal_code value to scrape flyers from any arbitrary postal code using this "sid"? Secondly, if this program were to be used be multiple users, would they also be able to use this URL to scrape flyers, but using their postal code?
– Tim Roberts
Dec 29 '18 at 17:54
I actually wasn't able to find any other reference to thatsid
in the requests, so it's also possible it's a "cache busting" parameter. For sure try to leave it off and see what happens. I would guess thatpostal_code
andsid
are unrelated, but only experimentation will say for sure. And yes, I would expect any number of people could use that URL, because by definition they already do when they load the site in their browser
– Matthew L Daniel
Dec 29 '18 at 18:25
Just tried it without the "sid" parameter, seems to be exactly the same except for a few lines near the beginning of the HTML. Not sure what it does though. Thank you for your help!
– Tim Roberts
Dec 29 '18 at 18:34
add a comment |
I suspect this is the incorrect request, but in the case that I am wrong, and this is correct:
That is the correct URL to get the data powering that website; the things you see on screen when you go to flipp.com/weekly_ads/groceries
is just packaging that data in HTML
How do I navigate to - flipp.com/weekly_ads/groceries from this request, while maintaining the new area code?
I am pretty sure you are asking the wrong question. You don't need to -- and in fact navigating to flipp.com/weekly_ads/groceries
will 100% not do what you want anyway. You can observe that when you click on "Groceries", the content changes but the browser does not navigate to any new page, nor does it make a new XHR request. Thus, everything that you need is in that JSON. What is happening is they are using the flyers.*.categories
that contains "Groceries"
to narrow down the 129 flyers that are returned to just those related to Groceries.
As for "maintaining the new area code," it's a similar "wrong question" because every piece of data that is returned by that XHR is scoped to the postal code in question. Thus, you don't need to re-submit anything, and nor would I expect any data that comes back from your postal_code=90210
request to contain 30309
(or whatever) data.
Believe it or not, you're actually in a great place: you don't need to deal with complicated CSS or XPath queries to liberate the data from its HTML prison: they are kind enough to provide you with an API to their data. You just need to deal with unpacking the content from their structure into your own.
I suspect this is the incorrect request, but in the case that I am wrong, and this is correct:
That is the correct URL to get the data powering that website; the things you see on screen when you go to flipp.com/weekly_ads/groceries
is just packaging that data in HTML
How do I navigate to - flipp.com/weekly_ads/groceries from this request, while maintaining the new area code?
I am pretty sure you are asking the wrong question. You don't need to -- and in fact navigating to flipp.com/weekly_ads/groceries
will 100% not do what you want anyway. You can observe that when you click on "Groceries", the content changes but the browser does not navigate to any new page, nor does it make a new XHR request. Thus, everything that you need is in that JSON. What is happening is they are using the flyers.*.categories
that contains "Groceries"
to narrow down the 129 flyers that are returned to just those related to Groceries.
As for "maintaining the new area code," it's a similar "wrong question" because every piece of data that is returned by that XHR is scoped to the postal code in question. Thus, you don't need to re-submit anything, and nor would I expect any data that comes back from your postal_code=90210
request to contain 30309
(or whatever) data.
Believe it or not, you're actually in a great place: you don't need to deal with complicated CSS or XPath queries to liberate the data from its HTML prison: they are kind enough to provide you with an API to their data. You just need to deal with unpacking the content from their structure into your own.
answered Dec 28 '18 at 5:32
Matthew L Daniel
7,72112326
7,72112326
Thank you for your answer, very reassuring that I have the correct URL. 2 quick followup questions though: I notice the "sid" parameter within the URL which I'm assuming is some kind of ID to identify a unique user. Will I be able to change the postal_code value to scrape flyers from any arbitrary postal code using this "sid"? Secondly, if this program were to be used be multiple users, would they also be able to use this URL to scrape flyers, but using their postal code?
– Tim Roberts
Dec 29 '18 at 17:54
I actually wasn't able to find any other reference to thatsid
in the requests, so it's also possible it's a "cache busting" parameter. For sure try to leave it off and see what happens. I would guess thatpostal_code
andsid
are unrelated, but only experimentation will say for sure. And yes, I would expect any number of people could use that URL, because by definition they already do when they load the site in their browser
– Matthew L Daniel
Dec 29 '18 at 18:25
Just tried it without the "sid" parameter, seems to be exactly the same except for a few lines near the beginning of the HTML. Not sure what it does though. Thank you for your help!
– Tim Roberts
Dec 29 '18 at 18:34
add a comment |
Thank you for your answer, very reassuring that I have the correct URL. 2 quick followup questions though: I notice the "sid" parameter within the URL which I'm assuming is some kind of ID to identify a unique user. Will I be able to change the postal_code value to scrape flyers from any arbitrary postal code using this "sid"? Secondly, if this program were to be used be multiple users, would they also be able to use this URL to scrape flyers, but using their postal code?
– Tim Roberts
Dec 29 '18 at 17:54
I actually wasn't able to find any other reference to thatsid
in the requests, so it's also possible it's a "cache busting" parameter. For sure try to leave it off and see what happens. I would guess thatpostal_code
andsid
are unrelated, but only experimentation will say for sure. And yes, I would expect any number of people could use that URL, because by definition they already do when they load the site in their browser
– Matthew L Daniel
Dec 29 '18 at 18:25
Just tried it without the "sid" parameter, seems to be exactly the same except for a few lines near the beginning of the HTML. Not sure what it does though. Thank you for your help!
– Tim Roberts
Dec 29 '18 at 18:34
Thank you for your answer, very reassuring that I have the correct URL. 2 quick followup questions though: I notice the "sid" parameter within the URL which I'm assuming is some kind of ID to identify a unique user. Will I be able to change the postal_code value to scrape flyers from any arbitrary postal code using this "sid"? Secondly, if this program were to be used be multiple users, would they also be able to use this URL to scrape flyers, but using their postal code?
– Tim Roberts
Dec 29 '18 at 17:54
Thank you for your answer, very reassuring that I have the correct URL. 2 quick followup questions though: I notice the "sid" parameter within the URL which I'm assuming is some kind of ID to identify a unique user. Will I be able to change the postal_code value to scrape flyers from any arbitrary postal code using this "sid"? Secondly, if this program were to be used be multiple users, would they also be able to use this URL to scrape flyers, but using their postal code?
– Tim Roberts
Dec 29 '18 at 17:54
I actually wasn't able to find any other reference to that
sid
in the requests, so it's also possible it's a "cache busting" parameter. For sure try to leave it off and see what happens. I would guess that postal_code
and sid
are unrelated, but only experimentation will say for sure. And yes, I would expect any number of people could use that URL, because by definition they already do when they load the site in their browser– Matthew L Daniel
Dec 29 '18 at 18:25
I actually wasn't able to find any other reference to that
sid
in the requests, so it's also possible it's a "cache busting" parameter. For sure try to leave it off and see what happens. I would guess that postal_code
and sid
are unrelated, but only experimentation will say for sure. And yes, I would expect any number of people could use that URL, because by definition they already do when they load the site in their browser– Matthew L Daniel
Dec 29 '18 at 18:25
Just tried it without the "sid" parameter, seems to be exactly the same except for a few lines near the beginning of the HTML. Not sure what it does though. Thank you for your help!
– Tim Roberts
Dec 29 '18 at 18:34
Just tried it without the "sid" parameter, seems to be exactly the same except for a few lines near the beginning of the HTML. Not sure what it does though. Thank you for your help!
– Tim Roberts
Dec 29 '18 at 18:34
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53951362%2fscrapy-find-http-call-from-button-click%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown