python之路--爬虫第一篇

1.   什么是爬虫?

像一只蜘蛛一样,在互联网上搜索-访问-下载-保存需要的信息。(伪造浏览器)

需要注意:有些站点会有防爬取的指令限制—robots.txt

原理:每一个URL都是唯一的,根据获取到的URL获取需要的内容

2.   爬去汽车之家新闻

首先安装所需要的两个模块requests,BeautifulSoup4

Pip3 install **

导入模块import  requests

分GET/POST两种请求方式

返回值是一个对象,用.text转换成字符串

注意编码问题:.apparent_encoding获取当前字符编码格式,用.encoding定义编码格式(编码不对大部分情况下会出错!  个别情况:比如原本是GB2312,现用GBK也是可以的-父类兼容子类)

导入模块import  BeautifulSoup4

根据返回的字符串找到需要的内容(web前端编写规则:id具有唯一性,class不具有)

soup = Beautifulsoup.(ret.text,’html.parser’) #解析器:html.parser / lxml  用来解析字符串

soup.find(name=’标签名’,id=’ID’)

.string获取当前标签里的内容  #比如<div id=”list_01”>123</div>  .string就能得到123

3.   登陆抽屉并点赞

主要知识点:cookies和reusest  headers 的妙用

Cookies:为了让服务器端辨别客户端身份而存放在客户端的一组数据。

Reusest Headers:告诉浏览器自己的身份信息,这里主要用到的是useragent。

经过测试得到了抽屉的爬虫流程:

  1. 首先带着‘请求体’get首页 #1.这里只加了useragent 2.获取未授权的cookie
  2. 然后进行post登录,需要携带之前已获取但未授权的cookie和用户信息进行cookie授权
  3. 携带已授权的cookie‘get’新闻首页,获得每个新闻的ID
  4. 循环 为每个新闻ID进行点赞操作(get)

4.   登录GitHub 并获取个人信息

    1. 获取登录页面中的cookie和隐藏在from标签内的token  #用chorme观察登录时需要携带这个token。
    2. 携带已获取好的token和cookie,向登录地址发送POST请求,携带用户信息(data)#把未授权的cookie提交给服务器做认证授权。
    3. 跟抽屉的验证规则类似----携带已授权的cookie访问用户信息页面并用bs4解析所需要的信息,最后print格式化输出。

5.   我遇到的问题

 

  1. 解耦合是什么意思?   耦合是指两个模块之间发生了关系--不懂......
  2. 编写规范问题  http://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/
  3. 暂时理解不了“效验”这个东西,是对结果做一个if判断吗?……
  4. 整个程序能正常运行下来,也没有异常呀…是做预判吗……
  5. 这个多注释是故意加上去的,当时也不知道编写规范,就是为了能让自己更好的记住一些知识,特地加上去的。
  6. 这个我当时也考虑了,要不要做一个input,后俩为了自己测试方便就直接写的明文。
  7. 不是很明白这句话的意思,还需深入研究。
  8. 暂时还不会封装函数呢,还需要学习基础入门知识。
  9. 这个也是涉及到编写规范了。自己英语很烂,以后就用翻译插件,这样也能多认识几个单词。

6. 总结

这只是一个开始,学到的知识连冰山一角都算不上。

python之路还要很长很长,找到正确的方向,剩下的就是埋下头去学习。    --Mobs

猜你喜欢

转载自www.cnblogs.com/mobs/p/9269322.html