Python爬虫学习记录——2.初识Python爬虫

文章目录

    • 环境搭建
    • 创建一个简单实例
    • 爬虫的步骤

环境搭建

  • Python版本:Python 3.7
  • 操作系统:Windows 7
  • IDE:PyCharm
  • 浏览器:Google Chrome

创建一个简单实例

爬虫的第一步,是需要获取数据。在Python中,可以通过urllib包或者Requests包来进行数据的获取。

  • urllib包

    • 推荐阅读urllib官方文档:https://docs.python.org/3/library/urllib.html
    • 示例:使用urllib包获取百度首页信息
    import urllib.request
    #导入urllib.request
    
    f = urllib.request.urlopen('http://www.baidu.com/')
    #打开网址,返回一个类文件对象
    
    f.read(500)
    #打印前500字符
    
    f.read(500).decode('utf-8')
    #打印前500字符并修改编码为utf-8
    
  • Requests包

    • 由于requests是python的第三方库,因此首先需要安装requests库。requests官方文档:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html
    • 示例:使用Requests库获取百度首页信息
    import requests      #导入requests库
    
    r = requests.get('https://www.baidu.com/')
    #使用requests.get方法获取网页信息
    
    r
    r.text      #打印结果
    
    r.encoding='utf-8#修改编码
    
    r.text        #打印结果
    

爬虫的步骤

  1. 爬虫第一步:使用requests获得数据:

    1. 导入requests
    2. 使用requests.get获取网页源码
    import requests      
    r = requests.get('https://book.douban.com/subject/1084336/comments/').text
    
  2. 爬虫第二步:使用BeautifulSoup4解析数据:

    1. 导入bs4
    2. 解析网页数据
    3. 寻找数据
    4. for循环打印
    from bs4 import BeautifulSoup
    soup = BeautifulSoup(r,'lxml')
    pattern = soup.find_all('span','short')
    for item in pattern:
    	print(item.string)
    
  3. 爬虫第三步:使用pandas保存数据:

    1. 导入pandas
    2. 新建list对象
    3. 使用to_csv写入
    import pandas
    comments = []
    for item in pattern:
    	comments.append(item.string)    
    df = pandas.DataFrame(comments)
    df.to_csv('comments.csv')
    

完整的爬虫示例如下:

import requests     
r = requests.get('https://book.douban.com/subject/1084336/comments/').text

from bs4 import BeautifulSoup
soup = BeautifulSoup(r,'lxml')
pattern = soup.find_all('span','short')
for item in pattern:
    print(item.string)

import pandas
comments = []
for item in pattern:
    comments.append(item.string)    
df = pandas.DataFrame(comments)
df.to_csv('comments.csv')

你可能感兴趣的:(Python)