如果我想做这个,我会从哪里开始?

时间:2014-09-02 02:16:47

标签: python web-scraping

我正在尝试创建一个自动打开网页的脚本,并在某个区域或框中输入某个文本,然后点击开始。 (我试图让我的生活更轻松,所以我不必每10分钟输入一次数字。)

我真的不知道从哪里开始:

import webbrowser

webbrowser.open('google.com') # for example.
# the following code is just of an example of what I mean
input.numbers('blahblahblah')
hit.enter

沿着这些方向,我只需要有人指出我正确的方向。 非常感谢!

2 个答案:

答案 0 :(得分:1)

有多种选择可供选择。

选择真正取决于当您点击“开始”时模拟进入服务器的基础请求是多么容易,是否有javascript,AJAX涉及页面加载,按钮点击等。如果你不喜欢我想深入了解实现,你可以使用真正的浏览器,看看selenium包。基本上,通过python代码,您可以告诉浏览器该做什么:在文本字段中输入文本,单击按钮等 - 高级方法。例如:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('https://www.google.com/')

textfield = driver.find_element_by_id('gbqfq')
textfield.send_keys('selenium tutorial')

button = driver.find_element_by_id('gbqfba')
button.click()

# TODO: parse the results

需要考虑的其他工具:

由于您没有具体说明该任务,因此很难告诉您更多信息。

答案 1 :(得分:1)

您要做的是HTML表单帖子。您应该首先问自己,如果您真的需要与浏览器进行交互以实现目标。听起来像你不需要,在这种情况下,类似下面的代码将自动执行DuckDuckGo搜索并在控制台上显示结果。

import urllib
import urllib2

url = 'https://duckduckgo.com/'
data = urllib.urlencode({'q': 'python 3'})
results = urllib2.urlopen(url, data)

print(results.read())

您可以轻松推断此代码,使其适用于Google ...