使用python进行网页登录和抓取
我是Python新手,编码经验有限。最近我想从一个网站上搜集一些信息,有人建议说Python是一种很好的语言。我试着在网上搜索,找到了几个关于这个问题的帖子,但没能成功运行他们的示例代码。我认为其中一些是由于Python的不同版本、缺少软件包、我错误地使用了Python IDE,或者我在安装时没有管理员帐户,但我无法识别它们 我想做的是:使用python进行网页登录和抓取,python,login,web-scraping,ide,Python,Login,Web Scraping,Ide,我是Python新手,编码经验有限。最近我想从一个网站上搜集一些信息,有人建议说Python是一种很好的语言。我试着在网上搜索,找到了几个关于这个问题的帖子,但没能成功运行他们的示例代码。我认为其中一些是由于Python的不同版本、缺少软件包、我错误地使用了Python IDE,或者我在安装时没有管理员帐户,但我无法识别它们 我想做的是: 登录一些网站 在被重定向到另一个网页后,我想点击一些按钮(比如使用鼠标),一个新窗口就会出现 在新窗口中,执行一些操作后,将有一个按钮将结果打印为pdf文件
提前感谢您的帮助 使用python和selenium模块很容易做到这一点。我试着回答你的问题 1.-始终在2.7上,第3版是可以的,但许多传统模块在这种情况下不起作用,所以总是使用流行的
Python 2.7.5 (default, Oct 11 2015, 17:47:16)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
-你为什么需要ide?对于编程,终端中只需要一个文本编辑器。仅当您希望使大型项目使用ide时
[hkeyland@localhost Escritorio]$ python testa.py
3.-首先需要安装我的示例所需的所有模块(selenium)。阅读如何通过pip安装模块或下载zip并安装
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
########################################
"""USER AUTH"""
username="user"
password="password"
########################################
########################################
"""LOGIN"""
driver = webdriver.Firefox()
driver.set_window_size(1024,800)
driver.get("https://www_hackthissite_org/missions/prog/2/index.php")
element = driver.find_element_by_name('username')
element.send_keys(username)
element2 = driver.find_element_by_name("password")
element2.send_keys(password)
element3 = driver.find_element_by_name("btn_submit")
element3.click()
########################################
没问题,您可以编辑文件并以.py扩展名保存它,或者将扩展名txt更改为py,而不会出现问题 在终端put中运行脚本
[hkeyland@localhost Escritorio]$ python your_script_name.py
并自动执行。欢迎使用堆栈溢出!请浏览、和部分,了解本网站的工作原理,并帮助您改进当前和未来的问题,从而帮助您获得更好的答案。嗨,hkeyland,非常感谢您快速、翔实的回答。今晚我将在我的电脑上试用2.7版本,这样我就有了一个管理员帐户。我想知道hkeyland,非常感谢您快速而翔实的回答。今晚我将在我的电脑上试用2.7版本,这样我就有了一个管理员帐户。我想要一个ide,因为我已经习惯了matlab这种软件,在那里我可以立即看到编码文件和控制台。作为一个新用户,终端对我来说显然更清晰,但我从来没有使用过linux系统,而且我不太习惯使用代码执行操作。例如,感谢您登录网站的代码。要在终端上运行它,我应该首先将代码保存在一个.txt文件中,然后将其更改为.py吗?那么我应该在终端中键入什么?很抱歉,有这么多评论。我错误地按了“回车”开始一行新的内容,但是系统却发布了我未完成的评论。我试图编辑它,但是错过了五分钟的编辑窗口。。。再次感谢你的帮助!今晚我会试试,希望你也能回答我可能的后续问题DHi hkeyland,再次感谢您的回答。当我尝试在python终端中运行脚本时,它返回“无效语法”。我在网上搜索了一下,一篇帖子()说我应该在cmd中输入,是真的吗?我还试着在cmd中运行它,它成功了(在搜索了为什么“python”不能被识别为内部或外部命令,以及如何将python添加到PATH环境变量之后…)。也许是窗户的问题?有没有办法在python终端中运行脚本?再次感谢!我刚刚意识到可能是cmd,而不是python.exe,是终端?嗨,hkeyland,当我试着用cmd运行你的代码时,在driver=webdriver.Firefox()文件“F:\python\lib\site packages\selenium\webdriver\Firefox\webdriver.py”的第14行,在init self.service.start()文件的第140行显示了“File”login1.py.py”F:\python\lib\site packages\selenium\webdriver\common\service.py”,第81行,在start os.path.basename(self.path),self.start\u error\u message)selenium.common.exceptions.WebDriverException:message:'geckodriver'可执行文件需要在path中。并且“Exception AttributeError:'service'对象在忽略中没有属性'process'”很抱歉,邮件的格式不好。我认为重要的一点是“消息:'geckodriver'可执行文件需要在路径中”。我该怎么做?我认为geckodriver包在python文件夹中,我已经将整个文件夹添加到cmd的PATH环境变量中。。。再次感谢!