- CSDN
- 淘宝
- Baidu
- 果壳
- JingDong 模拟登录和自动申请京东试用
- 163mail
- 拉钩
- Bilibili
- 豆瓣
- Baidu2
- 猎聘网
- 微信网页版登录并获取好友列表
- Github
- 爬取图虫相应的图片
如下所示,如果我们满足依赖项,那么就可以直接运行代码,它会在图虫网站中下载搜索到的图像。
如下所示为搜索「秋天」,并完成下载的图像:
每一个网站都会有对应的登录代码,有的还有数据的爬取代码。以豆瓣为例,主要的登录函数如下所示,它会获取验证码、处理验证码、返回登录数据完成登录,并最后保留 cookies。
def login(): captcha, captcha_id = get_captcha() # 增加表数据 datas['captcha-solution'] = captcha datas['captcha-id'] = captcha_id login_page = session.post(url, data=datas, headers=headers) page = login_page.text soup = BeautifulSoup(page, "html.parser") result = soup.findAll('div', attrs={'class': 'title'}) #进入豆瓣登陆后页面,打印热门内容 for item in result: print(item.find('a').get_text()) # 保存 cookies 到文件, # 下次可以使用 cookie 直接登录,不需要输入账号和密码 session.cookies.save()
其中获取并解决验证码的函数如下:
def get_captcha(): ''' 获取验证码及其ID ''' r = requests.post(url, data=datas, headers=headers) page = r.text soup = BeautifulSoup(page, "html.parser") # 利用bs4获得验证码图片地址 img_src = soup.find('img', {'id': 'captcha_image'}).get('src') urlretrieve(img_src, 'captcha.jpg') try: im = Image.open('captcha.jpg') im.show() im.close() except: print('到本地目录打开captcha.jpg获取验证码') finally: captcha = input('please input the captcha:') remove('captcha.jpg') captcha_id = soup.find( 'input', {'type': 'hidden', 'name': 'captcha-id'}).get('value') return captcha, captcha_id
当然这些都是简单的演示,在 GitHub 项目中可以找到更多的示例。此外,作者表明由于网站策略或者样式改变而导致代码失效,我们也可以提 Issue 或 Pull Requests。最后,该项目未来还会一直维护,很多东西哦也会慢慢改进,项目作者表明:
- 项目写了一段时间后,发现代码风格、程序易用性、可扩展性、代码的可读性,都存在一定的问题,所以接下来最重要的是重构代码,让大家可以更容易的做出一些自己的小功能;
- 如果读者觉得某个网站的登录很有代表性,可以在项目 issue 中提出;
- 网站的登录机制有可能经常的变动,所以当现在的模拟的登录的规则不能使用的时候,请项目在 issue 中提出。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
点此免费领取:CSDN大礼包:《python学习路线&全套学习资料》免费分享
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习