当前位置: 首页 > news >正文

网站开发人员属于什么/汕头seo快速排名

网站开发人员属于什么,汕头seo快速排名,wordpress在线表格,塔城地区建设工程信息网站为什么要模拟登陆 Python网络爬虫应用十分广泛,但是有些网页需要用户登陆后才能获取到信息,所以我们的爬虫需要模拟用户的登陆行为,在登陆以后保存登陆信息,以便浏览该页面下的其他页面。 保存用户信息 模拟登陆后有两种方法可以保…

 

为什么要模拟登陆

    Python网络爬虫应用十分广泛,但是有些网页需要用户登陆后才能获取到信息,所以我们的爬虫需要模拟用户的登陆行为,在登陆以后保存登陆信息,以便浏览该页面下的其他页面。

 

保存用户信息

    模拟登陆后有两种方法可以保存用户信息,通过Session来保存登陆信息或者通过Cookie来保存登陆信息

一、Session的用法

# 导入requests模块
import requests 
# 通过requests的Session来请求网页
s = requests.Session()  
r = s.post(url, headers=headers)

 

二、Cookie的用法

import urllib.request, http.cookiejar
# 初始化Cookie
cookie = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))
# 把opener配置为全局 当然也可以不配置全局通过opener来请求网页
urllib.request.install_opener(opener)


模拟登陆实践

 

我们以豆瓣网为例模拟用户登陆,然后爬取登陆后的用户界面

(1)找到请求表单

登陆一般是通过Post请求来实现的,其传递参数为一个表单,如果要成功登陆,我们需要查看该表单传递了哪些内容,然后构造表单做Post请求。怎么获取表单了,我们只需要打开浏览器右键查看,然后输入账号密码,点击登陆查看其NetWork中的请求,找到表单信息即可(推荐使用谷歌浏览器),该信息中还能找到请求的url。

表单信息

URL

 

(2)构建表单

表单的key值我们可以通过右键页面检查页面源代码,在页面源码中获得静态的值(还有些动态信息需要手动获取)

formdata = {'redir': 'https://www.douban.com','form_email': '账号','form_password': '密码','login': u'登陆'
}

 

(3)伪装成浏览器进行登录

我们只需要给请求添加上Headers即可

headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/55.0.2883.87 Safari/537.36'}

 

(4)获取验证码

第二步的表单其实还不完整,还差两条跟验证码有关的信息,这两条信息是动态变化的,所以我们要手动获取

r = s.post(url_login, headers=headers)
content = r.text
soup = BeautifulSoup(content, 'html.parser')
captcha = soup.find('img', id='captcha_image')#当登陆需要验证码的时候
if captcha:captcha_url = captcha['src']re_captcha_id = r'<input type="hidden" name="captcha-id" value="(.*?)"/'captcha_id = re.findall(re_captcha_id, content)print(captcha_id)print(captcha_url)  # 打印验证码urlcaptcha_text = input('Please input the captcha:')  # 手动输入验证码formdata['captcha-solution'] = captcha_text # 添加表单信息formdata['captcha-id'] = captcha_id

 

(5)登录

r = s.post(url_login, data=formdata, headers=headers) # 将表单信息传入参数中请求页面即可登录

 

完整代码

# -*- coding: utf-8 -*-
import requests
import re
from bs4 import BeautifulSoups = requests.Session()
url_login = 'https://accounts.douban.com/login'formdata = {'redir': 'https://www.douban.com','form_email': '账号','form_password': '密码','login': u'登陆'
}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/55.0.2883.87 Safari/537.36'}r = s.post(url_login, data=formdata, headers=headers)
content = r.text
soup = BeautifulSoup(content, 'html.parser')
captcha = soup.find('img', id='captcha_image')#当登陆需要验证码的时候
if captcha:captcha_url = captcha['src']re_captcha_id = r'<input type="hidden" name="captcha-id" value="(.*?)"/'captcha_id = re.findall(re_captcha_id, content)print(captcha_id)print(captcha_url)captcha_text = input('Please input the captcha:')formdata['captcha-solution'] = captcha_textformdata['captcha-id'] = captcha_idr = s.post(url_login, data=formdata, headers=headers)
with open('contacts.html', 'w+', encoding='utf-8') as f:f.write(r.text)

 

运行结果

 

登陆成功

 

 

 

 

 

 

 

http://www.jmfq.cn/news/5169997.html

相关文章:

  • 做外贸的有哪些网站/长沙网站优化体验
  • 做网站需要数据储存么/深圳网站设计公司
  • 哪家公司做网站好/个人怎么接外贸订单
  • vps做自己的网站/建个网站需要多少钱?
  • 菜鸟式网站建设图书/百度推广首页
  • wordpress系统是什么/seo是什么专业
  • 保定比较好的网站建设公司/网站收录查询平台
  • 网站建设 源码/哪些平台可以做推广
  • 郑州大学现代远程教育《网页设计与网站建设》课程考核要求/小蝌蚪幸福宝入口导航
  • 自己怎么建设一个网站/数据分析师要学什么
  • 网站建设招聘要求/百度地图广告投放
  • 微信小程序开发和网站开发的区别/百度统计数据
  • 网站建设工作 方案/环球贸易网
  • 会议网站怎么做/百度网站首页网址
  • 男人与女人做视频网站/新冠疫情最新消息
  • 西安企业seo外包服务公司/哈尔滨优化调整人员流动管理
  • 热 综合-网站正在建设中/营销推广平台
  • 张家港网页设计培训/seo专员岗位要求
  • 佛山企业网站制作公司/外贸网络推广营销
  • 四维码制作网站/湖南网络推广公司大全
  • 个人网站 数据库如何上传到空间/中国军事新闻最新消息
  • wordpress做的外贸网站6/互联网广告推广公司
  • 网站建设与网页设计制作教程/seo优化是指
  • 网站建设的技术目标/seo网站诊断顾问
  • 武汉网站建设方法/有什么好的推广平台
  • 网页制作与网站建设宝典pdf/龙岗网络公司
  • 电商网课教材/佛山旺道seo
  • 手机建行网站/企业网站模板图片
  • 企业网站导航代码/新手怎么开始做电商
  • 做二手元器件那个网站查价格/软文营销名词解释