python模拟登陆并抓取
时间: 2023-07-21 07:57:19 浏览: 93
您好,您的问题比较广泛,不知道您需要抓取哪个网站的内容,我这里以抓取豆瓣电影Top250为例,给您提供一个Python模拟登陆并抓取的示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 构造请求头信息
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 定义登陆函数
def login_douban(username, password):
# 构造登陆请求数据
data = {
'source': 'index_nav',
'form_email': username,
'form_password': password,
'remember': 'on'
}
# 发送登陆请求
session = requests.Session()
response = session.post('https://accounts.douban.com/login', headers=headers, data=data)
# 打印登陆结果
print(response.text)
return session
# 定义抓取函数
def get_top250_movies(session):
# 发送抓取请求
response = session.get('https://movie.douban.com/top250', headers=headers)
# 解析抓取结果
soup = BeautifulSoup(response.text, 'html.parser')
movie_list = soup.find_all('div', class_='info')
for movie in movie_list:
title = movie.find('span', class_='title').string
print(title)
# 调用登陆函数
session = login_douban('your_username', 'your_password')
# 调用抓取函数
get_top250_movies(session)
```
需要注意的是,不同网站的登陆方式和抓取方式可能会有所不同,需要根据具体情况进行调整。
阅读全文