利用python实现爬虫

注:转载请注明出处

  1. 准备一个安装好python2.7以上的环境。
  2. 编译软件准备PyCharm                                           注:以上环境是必备的。

我们就以爬取糗事百科的文字段子和用户名称为例:

  1. 得到目标官网的地址:https://www.qiushibaike.com/8hr/page/1/     由他们网站地址我们可以得出page是页的属性1是当前我在第几页,要注意一下这个属性因为他们是我们爬取页面的重要条件属性。
  2. 用浏览器访问(谷歌或其他IE除外)目标网站,按F12选择network,找到目标页面1/并点击
  3. 点击Headers得到我们本机的真实request信息,例如我们需要用到User-Agent属性我们就把它的键值对都复制一下准备使用
  4. 编写代码前准备:去目标网址访问源码:得到我们想要爬取的数据在他们的那么标签(盒子)里如图例:

5.得到以上了我们的准备工作也就算了完成了,不啰嗦了直接上代码

# -*- coding: UTF-8 -*-
import json
import urllib
import urllib2
'''导包'''
from bs4 import BeautifulSoup
import re
'''初始化访问页码'''
page = 1
'''规定要爬多少页的数据'''
while page<=2:
    '''需要爬取的地址
    '''
    url = 'https://www.qiushibaike.com/8hr/page/' + str(page)
    '''设置用户信息,这个可以到目标网站选取我们真正的用户信息,F12,找到network再找到文件里的第一个,查看
    '''
    headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
    try:
        '''创建request请求对象'''
        request = urllib2.Request(url,headers=headers)
        '''开始得到这个页面'''
        source_code = urllib2.urlopen(request).read()
        '''把这个页面得到页面转换为文本'''
        plain_text=str(source_code)
        '''对可能碰到的异常进行判断抛出'''
    except urllib2.URLError, e:
        if hasattr(e,"code"):
            print e.code
        if hasattr(e,"reason"):
            print e.reason

    '''利用工具来拆分页面文本得到想要的值'''
    soup=BeautifulSoup(plain_text,'html.parser')
    '''选取目标在div标签class为content的内容'''
    list_scpan=soup.find_all('div',{'class':'content'})
    '''选取目标在h2标签的内容'''
    list_H2=soup.find_all('h2')
    i=0
    '''循环打印得到的值
    每页有len(list_H2)条
    '''
    while i<len(list_H2):
        print i+1,'.'+list_H2[i].get_text().strip()
        print list_scpan[i].get_text().strip()
        i+=1
    page+=1

运行结果:

看完代码就应该知道准备工作多重要了吧。。。

如果有问题可以在下方评论,讨论

猜你喜欢

转载自blog.csdn.net/luxiangyan1923/article/details/81660423
今日推荐