以编程方式登录Python Web爬网程序

Jok*_*ker 1 python login beautifulsoup web-crawler

我正在尝试创建一个网络爬虫,使用我的凭据登录学校网站,然后抓取网站的某些部分.我正在使用这里找到的Beautiful Soup Python库:

http://www.crummy.com/software/BeautifulSoup/bs4/doc/
Run Code Online (Sandbox Code Playgroud)

我可以获得用户名和密码字段的正确源代码,但我不知道如何提供它们.另外,我提交它们也有同样的问题.我已经删除了"提交"按钮的源代码,但我不知道如何请求登录.

谢谢,

Ble*_*der 5

您可以使用Mechanize,一个模拟浏览器的库,也可以手动发送POST/GET请求.

Mechanize的主页有一个完整的例子,你可以尝试.

如果您想要使用手动请求,我通常只需打开Chrome的JS控制台,序列化表单并查看发送的参数:

> $('form#search').serialize()
"q="
Run Code Online (Sandbox Code Playgroud)

然后,您只需POST使用以下参数向该URL 发送请求:

import requests  # Install `requests` if you want to use my example code

session = requests.session()  # So your cookies persist across requests
response = session.post('your_url', data={
    'q': 'search string'
}).text
Run Code Online (Sandbox Code Playgroud)