python爬虫——模拟登陆(携带cookie)

http/https协议特性:无状态
没有请求到对应页面数据的原因:发起的第二次基于个人主页页面请求的时候,服务器端并不知道该次请求是基于登陆状态下的请求
cookie:用来让服务器端记录客户端的相关状态
 (1)手动处理:通过抓包工具获取cookie值,将该值封装到headers中
(2)自动处理:
        ——cookie值的来源:模拟登陆post请求后,由服务器端创建
   session会话对象:
       ——作用:
          (1)可以进行请求的发送
          (2)如果请求过程中产生了cookie,则该cookie会被自动存储/携带在该seesion对象中
       ——使用:
          (0)创建一个session对象,session=requests.Session()
          (1)使用session对象进行模拟登录post请求数据的发送(cookie就会被存储在session中)
          (2)session对象对个人主页对应的get请求进行发送(携带了cookie)
# 模拟登陆
from lxml import etree
import requests

if __name__ == "__main__":
	session = requests.session()
	headers = {
		'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 Edg/97.0.1072.69'
	}
	url = 'http://www.gebiqu.com/login.php'
	parms={
		'LoginForm[username]': '你的账号',
		'LoginForm[password]': '你的密码',
		't_btnlogin':'',
		'action': 'login',
		'jumpreferer': '1'
	}
	# 使用session进行post请求发送
	response = session.post(url=url,data=parms,headers=headers)
	print(response.status_code)
	mybook_url = 'http://m.gebiqu.com/'
	# 使用携带cookie的session进行get请求的发送
	mybook_text = session.get(url=mybook_url,headers=headers).text
	with open('./mybook.html','w',encoding='utf-8') as fp:
		fp.write(mybook_text)
	print('保存成功!')

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Python 爬虫实现,用于从北京租房信息网站上爬取租房信息并将其导入到 Excel 文件中。 首先,我们需要安装以下 Python 库: - requests:用于发送 HTTP 请求和获取网页内容。 - Beautiful Soup:用于解析 HTML 和 XML 网页内容。 - openpyxl:用于操作 Excel 文件。 可以使用 pip 命令进行安装: ``` pip install requests beautifulsoup4 openpyxl ``` 接下来,我们需要编写 Python 代码: ```python import requests from bs4 import BeautifulSoup from openpyxl import Workbook # 发送 HTTP 请求并获取网页内容 url = 'https://bj.zu.anjuke.com/fangyuan/p1/' response = requests.get(url) html = response.text # 使用 Beautiful Soup 解析网页内容 soup = BeautifulSoup(html, 'html.parser') houses = soup.select('.zu-itemmod') # 创建 Excel 文件并添加表头 wb = Workbook() ws = wb.active ws.append(['标题', '链接', '小区', '面积', '租金']) # 遍历租房信息并将其添加到 Excel 文件中 for house in houses: title = house.select('.zu-info h3 a')[0].text.strip() link = house.select('.zu-info h3 a')[0]['href'] community = house.select('.details-item')[0].text.strip() area = house.select('.details-item')[1].text.strip() price = house.select('.zu-side strong')[0].text.strip() ws.append([title, link, community, area, price]) # 保存 Excel 文件 wb.save('beijing_rent.xlsx') ``` 该爬虫程序将会从北京租房信息网站的第一页开始爬取租房信息,包括标题、链接、小区、面积和租金,并将其添加到 Excel 文件中。你可以根据需要修改代码以实现更多功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值