【代码收藏】爬取妹子签名和日志并邮件发送

作者:高野良
链接:https://www.zhihu.com/question/20899988/answer/58388759
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

#-*-coding:utf-8-*- #编码声明,不要忘记!
import requests  #这里使用requests,小脚本用它最合适!
from lxml import html    #这里我们用lxml,也就是xpath的方法

#豆瓣模拟登录,最简单的是cookie,会这个方法,80%的登录网站可以搞定
cookie = {} 

raw_cookies = ''#引号里面是你的cookie,用之前讲的抓包工具来获得

for line in raw_cookies.split(';'):
    key,value = line.split("=", 1)
    cookie[key] = value #一些格式化操作,用来装载cookies

#重点来了!用requests,装载cookies,请求网站
page = requests.get('#妹纸的豆瓣主页#',cookies=cookie)

#对获取到的page格式化操作,方便后面用XPath来解析
tree = html.fromstring(page.text)

#XPath解析,获得你要的文字段落!
intro_raw = tree.xpath('//span[@id="intro_display"]/text()')

#简单的转码工作,这步根据需要可以省略
for i in intro_raw:
    intro = i.encode('utf-8')

print intro #妹子的签名就显示在屏幕上啦

#接下来就是装载邮件模块,因为与本问题关联不大就不赘述啦~
爬虫入门
 
对爬虫有个明确的认识
在战略上藐视
  • 所有网站皆可爬
  • 框架不变
发送请求——获得页面——解析页面——下载内容——储存内容
在战术上重视 
  • 持之以恒,戒骄戒躁
  • 宏伟的目标,来让你有持续学习的动力 
我要爬整个豆瓣!...
我要爬整个草榴社区!
我要爬知乎各种妹子的联系方式*&^#%^$#
没有实操项目,真的很难有动力 
python基本
  • list,dict:用来序列化你爬的东西
  • 切片:用来对爬取的内容进行分割,生成
  • 条件判断(if等):用来解决爬虫过程中哪些要哪些不要的问题
  • 循环和迭代(for while ):用来循环,重复爬虫动作
  • 文件读写操作(open,close等):用来读取参数、保存爬下来的内容等
  • 编码常识(codecs等):非常关键,爬虫写熟了以后遇到的各种古怪问题
 
知识储备
网页的基本知识
  • HTML语言
  • 发包和收包的概念
  • js知识
分析语言
  • 正则表达式
  • XPATH
  • Beautifulsoup 
工具来辅助
  • F12 开发者工具
  • 抓包工具httpfox
  • XPATH CHECKER (火狐插件)
  • 正则表达测试工具
常用爬虫模块 
  • urllib
  • urllib2
  • requests
框架
  • scrapy
动态页面
  • selenium
  • phantomJS
验证码
  • PIL
  • opencv
  • pybrain
  • 打码平台
数据库
  • mysql
  • mongodb
  • sqllite
爬来的东西怎么用?
  • numpy 数据分析,类似matlab的模块
  • pandas 基于numpy的数据分析模块
进阶技术
  • 多线程、分布式


猜你喜欢

转载自blog.csdn.net/cxiaoxx1/article/details/80102335