python - 谁能澄清一下 Python Web 自动化的一些选项

标签 python selenium-webdriver browser-automation pyjamas

我正在尝试用 python 编写一个简单的脚本,它将扫描推文中的链接,然后访问该链接。 我无法确定从这里该往哪个方向走。根据我的研究,我似乎可以使用 Selenium 或机械化?可用于浏览器自动化。使用这些会被视为网络抓取吗?

或者

我可以学习 twitter api、Requests 库和 pyjamas(将 python 代码转换为 javascript)之一,这样我就可以制作一个简单的脚本并将其加载到 google chrome 的/firefox 扩展中。

哪个是更好的选择?

最佳答案

进行网络自动化时有许多不同的方法。由于您正在使用 Twitter 进行操作,因此您可以尝试 Twitter API。如果您正在执行任何其他任务,还有更多选择。

  • Selenium当您需要单击按钮或在表单中输入值时非常有用。唯一的缺点是它会打开一个单独的浏览器窗口。

  • Mechanize与 Selenium 不同,它不会打开浏览器窗口,并且也适合操作按钮和表单。可能还需要几行才能完成工作。

  • Urllib/Urllib2是我用的。有些人一开始觉得有点难,但是一旦你知道自己在做什么,就会很快完成工作。另外,您还可以使用 cookie 和代理进行操作。它是一个内置库,因此无需下载任何内容。

  • Requests与 urllib 一样好,但我对此没有太多经验。您可以执行添加标题等操作。这是一个非常好的图书馆。

一旦您获得所需的页面,我建议您使用BeautifulSoup解析出你想要的数据。

我希望这能引导您走向网络自动化的正确方向。

关于python - 谁能澄清一下 Python Web 自动化的一些选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17937010/

相关文章:

python - opencv 版本 3.* HogDescriptor 最多接受 1 个参数(给定 5 个)

java - 有没有办法直接获取 selenium webdriver 中下拉菜单的最后一个值?

ruby - Watir-webdriver 如何不先访问 LAST 匹配元素?

javascript - 通过node的index.js以编程方式调用cucumber cli

python - Python 3 : “Expected an indent Block” in a comment

Python - 二维数组内计数 - OpenCV

python - grequests 与 requests 发生冲突

java - 如何使用selenium从列表框中选择项目

java - 如何处理在网页上搜索没有给出任何结果的情况?

node.js - Node JS 应用程序中功能自动化的代码覆盖率