博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python爬虫入门
阅读量:5893 次
发布时间:2019-06-19

本文共 2216 字,大约阅读时间需要 7 分钟。

什么是爬虫?

一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息

Python四种基本数据结构

  • 列表

**列表中的每个元素都是可变的;

列表的元素都是有序的,也就是说每个元素都有对应的位置;
列表可以容纳所有的对象;**

list = ['波波', '90', '超哥', '小明']print(list[0])print(list(2:))# result波波['超哥', '小明'] # 如果为切片返回的也是列表的数据结构
  • 字典
user_info = {  'name': '小明',  'age': '23',  'sex': 'male'}
  • 元组

**在爬虫中元组和集合很少用到,这里只做简单的介绍;

元组: 类似于列表,但是元组的元素是不能修改只能查看的**

# 元组tuple = (1,2,3)
  • 集合

集合:类似数学中的集合,每个集合中的元素是无序的,不可以有重复的对象,因此可以通过集合把重复的数据去除!

# 集合list = [1,1,2,2,3,4,5] set = set(list)# result {1,2,3,4,5}

Python文件操作

# 打开文件open(name,[, mode[,buffering]])f = open('/Users/GreetingText/PycharmProjects/demo/hello.txt')# 读写文件f = open('/Users/GreetingText/PycharmProjects/demo/hello.txt', 'w')f.write('Hello World')f = open('/Users/GreetingText/PycharmProjects/demo/hello.txt', 'r')content = f.read()print(content)# result Hello World# 关闭文件f.close()

爬虫原理

多页面爬虫流程

如何安装Python环境?

Mac 系统自带Python 2.7,安装 新版本请前往官网下载,安装成功之后,在命令行输入python3 如图:

工欲善其事,必先利其器

推荐PyCharm

拿走不谢!

推荐两个第三方库

  • Beautiful Soup
  • Scrapy

QuickDemo

安装Scrapy并创建项目

pip install scrapyscrapy startproject QuickDemocd QuickDemo

在spiders目录下创建test_spilder.py文件

具体代码(需要事先安装BeautifulSoup库)

# -*- coding:utf-8 -*-import scrapyfrom bs4 import BeautifulSoupclass tsSpride(scrapy.Spider):    name = 'test' # 爬虫的唯一名字,在项目中爬虫名字一定不能重复    # start_requests() 必须返回一个迭代的Request    def start_requests(self):        # 待爬取的URL列表        urls = ['http://www.jianshu.com/',]        # 模拟浏览器        headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}        for url in urls:            yield scrapy.Request(url=url, headers=headers, callback=self.parse)    # 处理每个请求的下载响应    def parse(self, response):        soup = BeautifulSoup(response.body, 'html.parser')        titles = soup.find_all('a', 'title')        for title in titles:            print(title.string)        try:            file = open(r'/Users/GreetingText/QuickDemo/jianshu.txt', 'w')            # 将爬取到的文章题目写入txt中            for title in titles:                file.write(title.string + '\n')        finally:            if file:                # 关闭文件(很重要)                file.close()

在命令行输入

scrapy crawl test

爬取数据成功如图:

而且项目里面也生成了一个jianshu.txt文件

打开jianshu.txt如图:

以下是参考链接

转载地址:http://ctisx.baihongyu.com/

你可能感兴趣的文章
vc遍历网页表单并自动填写提交 .
查看>>
配置ORACLE 11g绿色版客户端和PLSQL远程连接环境
查看>>
ASP.NET中 DataList(数据列表)的使用前台绑定
查看>>
Linux学习之CentOS(八)--Linux系统的分区概念
查看>>
主域控制器的安装与配置步骤与方法
查看>>
JavaScript---事件
查看>>
Android NDK入门实例 计算斐波那契数列一生成jni头文件
查看>>
c/c++性能优化--I/O优化(上)
查看>>
将HTML特殊转义为实体字符的两种实现方式
查看>>
jquery 保留两个小数的方法
查看>>
网站架构设计的误区
查看>>
iis 故障导致网站无法访问
查看>>
C++ 基础笔记(一)
查看>>
System.Func<>与System.Action<>
查看>>
asp.net开源CMS推荐
查看>>
csharp skype send message in winform
查看>>
MMORPG 游戏服务器端设计--转载
查看>>
《星辰傀儡线》人物续:“灭世者”、“疯狂者”、“叛逆者”三兄妹
查看>>
安装系统字体
查看>>
SILK 的 Tilt的意思
查看>>