Python爬虫随笔1

来源:互联网 发布:淘宝订单关闭无法评价 编辑:程序博客网 时间:2024/06/10 19:14

起因

  1. 问答网站做到现在,没有数据啊,所以需要一些数据;
  2. 爬虫很好玩,早就在知乎看见别人爬各种羞羞网站的代码,不过一直没时间,最近感觉自己秋招也没啥希望,还是做点自己想做的事情吧;
  3. 我的Python基础几乎为0,虽然看过语法,然而都忘了,这玩意不写,两天就忘了;所以给点动力,也可以好好工作一把;

爬虫

  1. 一直听说爬虫,其实并不是什么厉害的东西;在B/S架构下,所有数据都是要传输到我们客户端上的,也就是说内容会直接以文件形式传输过来,假设是C/S结构,人家给你本地的客户端加加密,我们就没有办法了,但是html是公共协议,浏览器能解析,那我们也行;爬虫的好处就是可以自动的,不断浏览网页,并且可以获取我们想要的内容,比如图片;
  2. 如果我们想让爬虫动起来,那就需要模拟一个浏览器,所以首先要构建一个请求;在请求中我们添加headers,cookie,让服务器认为我们是一个友好的浏览器;
  3. requests包 传送门 requests是非常easy的包,他真的是给人用的,看一下教程即可;

超级简单的实例

  • url + headers + cookie ,完美欺骗我校pt站,直接模拟了登陆
# -*- coding:utf-8 -*-  import requests#headersheaders = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',          'Host': 'pt.cugb.edu.cn',          'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)'}#cookiecookies = {'c_secure_uid':'NTQ5',' c_secure_pass':'7d72b685dccd03101b9f7eb6344f7c76',' letskillie6':'false',' c_secure_user_link_online':'success'}#urlurl='http://pt.cugb.edu.cn/'#请求r = requests.get(url,cookies,headers = headers,cookies = cookies)print r.text
  • 引入PyQuery,抓取特地内容,其实是因为pyspider框架就只能爬去两条,所以我就自己写了实验了一下,发现确实只能爬出两条,so以后再想这个问题吧;
# -*- coding:utf-8 -*-import requestsfrom pyquery import PyQueryheaders = {'User-Agent': 'GoogleBot',            'Host': 'www.zhihu.com',            'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'}url = "https://www.zhihu.com/question/19942068"request = requests.get(url,headers = headers)print request.textq = PyQuery(request.text)for each in q('.RichContent-inner>span.RichText.CopyrightRichText-richText').items():    each.html()
原创粉丝点击