python - 如何使用python和beautifulsoup抓取需要登录的网站?

标签 python web-scraping beautifulsoup

如果我想抓取一个需要先使用密码登录的网站,我该如何开始使用 Python 使用 beautifulsoup4 库来抓取它?以下是我为不需要登录的网站所做的。

from bs4 import BeautifulSoup    
import urllib2 
url = urllib2.urlopen("http://www.python.org")    
content = url.read()    
soup = BeautifulSoup(content)

应如何更改代码以适应登录?假设我要抓取的网站是一个需要登录的论坛。一个例子是 http://forum.arduino.cc/index.php

最佳答案

你可以使用机械化:

import mechanize
from bs4 import BeautifulSoup
import urllib2 
import cookielib ## http.cookiejar in python3

cj = cookielib.CookieJar()
br = mechanize.Browser()
br.set_cookiejar(cj)
br.open("https://id.arduino.cc/auth/login/")

br.select_form(nr=0)
br.form['username'] = 'username'
br.form['password'] = 'password.'
br.submit()

print br.response().read()

或 urllib - Login to website using urllib2

关于python - 如何使用python和beautifulsoup抓取需要登录的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23102833/

相关文章:

python - html中Select的设置值

python - 查找两个数组中下一个最大的整数

python - Sklearn 混淆矩阵 : How to get the blue color

Python - 如何获取特定 div 的样式属性总数

python - 从html文档中提取日期

python - 从 Django 模板访问字典/对象

excel - 从下拉列表中选择后出现意外的 Selenium 行为

python - 使用 Requests 和 BeautifulSoup - Python 返回不带文本的标签

python - soup.find_all 有效但 soup.select 无效

python - 在 Beautiful Soup 中抓取 Wiki 页面