簡體   English   中英

使用python進行網頁登錄和抓取

[英]Using python to do webpage login and scraping

我是 Python 新手,編碼經驗有限。 最近我想從一個網站上抓取一些信息,並被建議使用 Python 是一種很好的語言。 我嘗試在線搜索並找到了一些關於此問題的帖子,但無法成功運行他們的示例代碼。 我認為其中一些是由不同版本的 Python、缺少軟件包、我錯誤地使用 Python IDE 或我在安裝時沒有管理員帳戶引起的,但我無法識別它們。

我想做的是:

  1. 登錄某個網站

  2. 重定向到另一個網頁后,我想單擊某個按鈕(例如使用鼠標),然后會出現一個新窗口

  3. 在新窗口中,進行一些操作后,會有一個按鈕將結果打印為pdf文件

  4. 下載文件。

我的問題是

  1. 你能給我一些關於哪個版本更適合上述工作的建議,2 或 3? 我使用的是 3,但是很多帖子都建議使用像 scrapy 這樣的包,我聽說現在可以用於 3。

  2. 對於易於使用且足以勝任工作的新用戶,您會推薦什么 IDE? 我嘗試了 Anaconda Navigator,但對它提供的三件事(jupyter notebook、qtconsile 和 spyder)感到困惑。 我應該使用第一個嗎? 我還嘗試了 Atom 並使用它的腳本包來運行 Python 代碼。 我對 Python 包安裝部分感到困惑。 我嘗試在 cmd 中使用“pip”,但我不確定它是否成功,因為我沒有管理員帳戶。

  3. 能不能給個示例代碼或者指點一下,能在上面的環境中成功運行嗎? 許多關於“登錄網站”的示例使用網站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.
>>> 

2.- 你為什么需要一個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

並自動執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM