Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python进行网页登录和抓取_Python_Login_Web Scraping_Ide - Fatal编程技术网

使用python进行网页登录和抓取

使用python进行网页登录和抓取,python,login,web-scraping,ide,Python,Login,Web Scraping,Ide,我是Python新手,编码经验有限。最近我想从一个网站上搜集一些信息,有人建议说Python是一种很好的语言。我试着在网上搜索,找到了几个关于这个问题的帖子,但没能成功运行他们的示例代码。我认为其中一些是由于Python的不同版本、缺少软件包、我错误地使用了Python IDE,或者我在安装时没有管理员帐户,但我无法识别它们 我想做的是: 登录一些网站 在被重定向到另一个网页后,我想点击一些按钮(比如使用鼠标),一个新窗口就会出现 在新窗口中,执行一些操作后,将有一个按钮将结果打印为pdf文件

我是Python新手,编码经验有限。最近我想从一个网站上搜集一些信息,有人建议说Python是一种很好的语言。我试着在网上搜索,找到了几个关于这个问题的帖子,但没能成功运行他们的示例代码。我认为其中一些是由于Python的不同版本、缺少软件包、我错误地使用了Python IDE,或者我在安装时没有管理员帐户,但我无法识别它们

我想做的是:

  • 登录一些网站

  • 在被重定向到另一个网页后,我想点击一些按钮(比如使用鼠标),一个新窗口就会出现

  • 在新窗口中,执行一些操作后,将有一个按钮将结果打印为pdf文件

  • 下载文件

  • 我的问题是

  • 你能给我一些建议,关于哪个版本更适合上面的工作,2或3?我用的是3,但很多帖子都建议使用scrapy这样的软件包,我听说现在可以用3

  • 对于一个新用户,您会推荐什么样的IDE,它既易于使用,又足以胜任这项工作?我试过Anaconda Navigator,但对它提供的三个功能(jupyter笔记本、qtconsile和spyder)感到困惑。我应该用第一个吗?我还尝试了Atom并使用其脚本包运行Python代码。我对Python包的安装部分感到困惑。我尝试在cmd中使用“pip”,但我不确定是否成功,因为我没有管理员帐户

  • 您能给我一个示例代码或给我指出一个可以在上述环境中成功运行的示例代码吗?许多关于“登录网站”的示例都使用了website example.org,但它没有登录功能


  • 提前感谢您的帮助

    使用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环境变量中。。。再次感谢!