2024-09-28 16:21:37 发布
网友
我想创建一个程序,写一些东西到文本框中的html(例如谷歌搜索栏)。但我不知道在urllib里怎么做。这就是它需要做的: 1-拿到书页,找到盒子。 在盒子里写些东西。 3-发布并给出结果。你知道吗
我只想要一个如何找到盒子和张贴它的例子,没有完整的代码。你知道吗
从现在开始谢谢大家。你知道吗
我将描述如何使用urllib来实现这一点,但下面您将找到我推荐的其他库来解决您的问题。你知道吗
如果使用urllib,则必须查看form action属性才能对POST请求进行反向工程。然后,使用此代码,您可以复制该帖子:
import urllib import urllib2 url = 'http://www.someserver.com/cgi-bin/register.cgi' values = {'name' : 'Michael Foord', 'location' : 'Northampton', 'language' : 'Python' } data = urllib.urlencode(values) req = urllib2.Request(url, data) response = urllib2.urlopen(req) the_page = response.read()
源代码:This answer
正如我提到的,对于这个问题,urllib有一个更简单的替代方法。我个人建议您使用RoboBrowser或MechanicalSoup。他们更直截了当,因为他们会为你找出职位要求。你知道吗
使用RoboBrowser的示例:
# Browse to the website browser = RoboBrowser() browser.open('http://website.com/') # Find the form, write on a text box, and submit it form = browser.get_form(action='/search') form['q'].value = 'your text' browser.submit_form(form)
唯一的问题是,它们并不适用于所有网站,尤其是动态网站。因此,如果这些解决方案不起作用,一个很好的解决方法是使用Selenium。Selenium自动化了一个真正的浏览器,因此它将加载网站的所有动态部分(比如Javascript)。问题是执行自己的请求比较慢,所以我建议在尝试Selenium之前使用RoboBrowser或MechanicalSoup。你知道吗
我将描述如何使用urllib来实现这一点,但下面您将找到我推荐的其他库来解决您的问题。你知道吗
如果使用urllib,则必须查看form action属性才能对POST请求进行反向工程。然后,使用此代码,您可以复制该帖子:
源代码:This answer
正如我提到的,对于这个问题,urllib有一个更简单的替代方法。我个人建议您使用RoboBrowser或MechanicalSoup。他们更直截了当,因为他们会为你找出职位要求。你知道吗
使用RoboBrowser的示例:
唯一的问题是,它们并不适用于所有网站,尤其是动态网站。因此,如果这些解决方案不起作用,一个很好的解决方法是使用Selenium。Selenium自动化了一个真正的浏览器,因此它将加载网站的所有动态部分(比如Javascript)。问题是执行自己的请求比较慢,所以我建议在尝试Selenium之前使用RoboBrowser或MechanicalSoup。你知道吗
相关问题 更多 >
编程相关推荐