Skip to content

Instantly share code, notes, and snippets.

@challengeYY
Last active July 2, 2019 02:12
Show Gist options
  • Save challengeYY/22fc2965ce94dae92aa8892a97f2565a to your computer and use it in GitHub Desktop.
Save challengeYY/22fc2965ce94dae92aa8892a97f2565a to your computer and use it in GitHub Desktop.
Welcome file

网站,提供文字,图片,视频供人访问获取信息。 有部分人需要完成任务,就是从网上获取信息,加工之后,再将加工后的信息传播到网上。 而爬虫主要完成的就是这个任务流程。

任务1:使用requests库访问并显示一个网页的源码。

网址:https://www.toutiao.com/

目标:了解requests的基础用法

效果: Snipaste_2019-07-02_07-15-19.png

任务2:从源码中提取出网站的简介

网址:https://www.toutiao.com/

目标:了解字符串截取操作。

效果: Snipaste_2019-07-02_08-26-19.png

帮助: 这里有个写好的函数提取两个字符串中间的内容。

def find_between( s, first, last ):
    try:
        start = s.index( first ) + len( first )
        end = s.index( last, start )
        return s[start:end]
    except ValueError:
        return ""

任务3:下载一张图片,保存为hd.jpg名字

网址:http://p3.pstatp.com/large/pgc-image/5a6168582c8f4a8ca4187fc6e7cf4648

目标:掌握文件操作

效果: Snipaste_2019-07-02_08-37-04.png

任务4:用python下载qq的安装程序。

网址:https://im.qq.com/pcqq/

目标:掌握文件操作,字符串截取操作 , 多行字符串的定义

帮助:

1用requests访问网址,获得其源码。

2从源码中截取出下载链接,就用之前任务中的截取函数

3.用requests访问下载链接,得到文件内容

4.保存到文件中

效果: Snipaste_2019-07-02_08-48-45.png

任务5 解决一个限制访问的问题

网址:https://www.jianshu.com/p/f23ccd6821f6

目标:掌握requests设置头部

帮助:

  1. jianshu.com设置了访问限制。
  2. 用requests直接get,会提示403错误,禁止访问。
  3. 通过设置头部的user-agent,就能通过允许。

问题效果: Snipaste_2019-07-02_09-36-48.png

任务6 用pyquery提取文章的标题,发布时间,字数信息

网址:https://www.jianshu.com/p/f23ccd6821f6

目标:掌握pyquery的用法

帮助:

  1. 安装:pip install pyquery
  2. 使用:
from pyquery import PyQuery as pq
url = "https://www.jianshu.com/p/f23ccd6821f6"
res=requests.get(url)
dom = pq(res.text)
pubtime = dom(".publish-time")

效果: Snipaste_2019-07-02_09-45-24.png

任务7 用pyquery提取本页所有cd的标题和网址

网址:https://tzg.ylzmjd.com/cd/

目标:掌握pyquery提取列表的方法

效果: Snipaste_2019-07-02_10-01-02.png

任务8 用pyquery提取每个分页所有cd的标题和网址

网址:https://tzg.ylzmjd.com/cd/

目标:掌握pyquery提取列表的方法,和简易翻页

帮助: https://tzg.ylzmjd.com/cd/?pn=2 pn=后面的数字是几,就是第几页。通过改变这个数字实现翻页。

效果: Snipaste_2019-07-02_10-12-23.png

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment