Scraper to grab a Stack Overflow profile nameStack Overflow user info fetcherStack Overflow tab notifier user-scriptAmazon web scraperOOP Web scraper using regex to grab tag contentsCross-posts from Stack Overflow to CRBeginner Python OOP web scraperWeb scraper for harvesting a full-sitePython + selenium scraper to grab results using reverse searchStack Overflow Tag UsagePython yelp scraper
How to generate globally unique ids for different tables of the same database?
How is the Swiss post e-voting system supposed to work, and how was it wrong?
Dot in front of file
Do I need life insurance if I can cover my own funeral costs?
When do we add an hyphen (-) to a complex adjective word?
Make a transparent 448*448 image
Possible Leak In Concrete
Is having access to past exams cheating and, if yes, could it be proven just by a good grade?
Where is the 1/8 CR apprentice in Volo's Guide to Monsters?
Employee lack of ownership
RegionDifference for Cylinder and Cuboid
Pinhole Camera with Instant Film
How to make healing in an exploration game interesting
Why is "das Weib" grammatically neuter?
What has been your most complicated TikZ drawing?
Provisioning profile doesn't include the application-identifier and keychain-access-groups entitlements
Meaning of "SEVERA INDEOVI VAS" from 3rd Century slab
Is it normal that my co-workers at a fitness company criticize my food choices?
Life insurance that covers only simultaneous/dual deaths
Why do passenger jet manufacturers design their planes with stall prevention systems?
Happy pi day, everyone!
Why using two cd commands in bash script does not execute the second command
Replacing Windows 7 security updates with anti-virus?
What is IP squat space
Scraper to grab a Stack Overflow profile name
Stack Overflow user info fetcherStack Overflow tab notifier user-scriptAmazon web scraperOOP Web scraper using regex to grab tag contentsCross-posts from Stack Overflow to CRBeginner Python OOP web scraperWeb scraper for harvesting a full-sitePython + selenium scraper to grab results using reverse searchStack Overflow Tag UsagePython yelp scraper
$begingroup$
I've created a script in Python to log into stackoverflow.com using credentials and fetch the profilename once logged in. I've tried to do it using class. I created the methods within that class in such a way so that they work like chain. Should I stick to this design or there is anything better I can pursue? Whatever it is I would like this get_profile()
method to be seperated like how it is now.
from bs4 import BeautifulSoup
import requests
class StackOverflowBot(object):
login_url = "https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2f"
def __init__(self,session,username,password):
self.session = session
self.username = username
self.password = password
self.login(self.session,self.username,self.password)
def login(self,session,username,password):
session.headers['User-Agent'] = 'Mozilla/5.0'
req = session.get(self.login_url)
soup = BeautifulSoup(req.text, "lxml")
payload =
"fkey": soup.select_one("[name='fkey']")["value"],
"email": username,
"password": password,
req = session.post(self.login_url,data=payload)
return self.get_profile(req.text)
def get_profile(self,htmlcontent):
soup = BeautifulSoup(htmlcontent,"lxml")
item = soup.select_one("[class^='gravatar-wrapper-']").get('title')
print(item)
if __name__ == '__main__':
with requests.Session() as session:
StackOverflowBot(session,"username","password")
python python-3.x object-oriented web-scraping stackexchange
$endgroup$
add a comment |
$begingroup$
I've created a script in Python to log into stackoverflow.com using credentials and fetch the profilename once logged in. I've tried to do it using class. I created the methods within that class in such a way so that they work like chain. Should I stick to this design or there is anything better I can pursue? Whatever it is I would like this get_profile()
method to be seperated like how it is now.
from bs4 import BeautifulSoup
import requests
class StackOverflowBot(object):
login_url = "https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2f"
def __init__(self,session,username,password):
self.session = session
self.username = username
self.password = password
self.login(self.session,self.username,self.password)
def login(self,session,username,password):
session.headers['User-Agent'] = 'Mozilla/5.0'
req = session.get(self.login_url)
soup = BeautifulSoup(req.text, "lxml")
payload =
"fkey": soup.select_one("[name='fkey']")["value"],
"email": username,
"password": password,
req = session.post(self.login_url,data=payload)
return self.get_profile(req.text)
def get_profile(self,htmlcontent):
soup = BeautifulSoup(htmlcontent,"lxml")
item = soup.select_one("[class^='gravatar-wrapper-']").get('title')
print(item)
if __name__ == '__main__':
with requests.Session() as session:
StackOverflowBot(session,"username","password")
python python-3.x object-oriented web-scraping stackexchange
$endgroup$
add a comment |
$begingroup$
I've created a script in Python to log into stackoverflow.com using credentials and fetch the profilename once logged in. I've tried to do it using class. I created the methods within that class in such a way so that they work like chain. Should I stick to this design or there is anything better I can pursue? Whatever it is I would like this get_profile()
method to be seperated like how it is now.
from bs4 import BeautifulSoup
import requests
class StackOverflowBot(object):
login_url = "https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2f"
def __init__(self,session,username,password):
self.session = session
self.username = username
self.password = password
self.login(self.session,self.username,self.password)
def login(self,session,username,password):
session.headers['User-Agent'] = 'Mozilla/5.0'
req = session.get(self.login_url)
soup = BeautifulSoup(req.text, "lxml")
payload =
"fkey": soup.select_one("[name='fkey']")["value"],
"email": username,
"password": password,
req = session.post(self.login_url,data=payload)
return self.get_profile(req.text)
def get_profile(self,htmlcontent):
soup = BeautifulSoup(htmlcontent,"lxml")
item = soup.select_one("[class^='gravatar-wrapper-']").get('title')
print(item)
if __name__ == '__main__':
with requests.Session() as session:
StackOverflowBot(session,"username","password")
python python-3.x object-oriented web-scraping stackexchange
$endgroup$
I've created a script in Python to log into stackoverflow.com using credentials and fetch the profilename once logged in. I've tried to do it using class. I created the methods within that class in such a way so that they work like chain. Should I stick to this design or there is anything better I can pursue? Whatever it is I would like this get_profile()
method to be seperated like how it is now.
from bs4 import BeautifulSoup
import requests
class StackOverflowBot(object):
login_url = "https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2f"
def __init__(self,session,username,password):
self.session = session
self.username = username
self.password = password
self.login(self.session,self.username,self.password)
def login(self,session,username,password):
session.headers['User-Agent'] = 'Mozilla/5.0'
req = session.get(self.login_url)
soup = BeautifulSoup(req.text, "lxml")
payload =
"fkey": soup.select_one("[name='fkey']")["value"],
"email": username,
"password": password,
req = session.post(self.login_url,data=payload)
return self.get_profile(req.text)
def get_profile(self,htmlcontent):
soup = BeautifulSoup(htmlcontent,"lxml")
item = soup.select_one("[class^='gravatar-wrapper-']").get('title')
print(item)
if __name__ == '__main__':
with requests.Session() as session:
StackOverflowBot(session,"username","password")
python python-3.x object-oriented web-scraping stackexchange
python python-3.x object-oriented web-scraping stackexchange
edited 4 mins ago
200_success
130k17153419
130k17153419
asked 10 hours ago
MITHUMITHU
340111
340111
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");
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: "196"
;
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: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
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%2fcodereview.stackexchange.com%2fquestions%2f215428%2fscraper-to-grab-a-stack-overflow-profile-name%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Code Review Stack Exchange!
- 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.
Use MathJax to format equations. MathJax reference.
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%2fcodereview.stackexchange.com%2fquestions%2f215428%2fscraper-to-grab-a-stack-overflow-profile-name%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