什么是爬虫?

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

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 scrapy

scrapy startproject QuickDemo

cd QuickDemo

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

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

# -*- coding:utf-8 -*-

import scrapy

from bs4 import BeautifulSoup

class 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 + ' ')

finally:

if file:

# 关闭文件(很重要)

file.close()

在命令行输入

scrapy crawl test

爬取数据成功如图:

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

打开jianshu.txt如图:

以下是参考链接

python爬虫流程-Python爬虫入门相关推荐

  1. python爬虫 小白轻松从0到1_如何从0到1,学习Python的流程【小白入门】

    Hello World! 写下Hello World是你在学任何编程语言时做的第一件事,除了让你对第一次代码运行感到兴奋,它也会帮你检测目前运行环境是否正常. 我们第一个运行的程序! 重点 可读性-- ...

  2. python爬虫流程-Python爬虫程序架构和运行流程原理解析

    1 前言 Python开发网络爬虫获取网页数据的基本流程为: 发起请求 通过URL向服务器发起request请求,请求可以包含额外的header信息. 获取响应内容 服务器正常响应,将会收到一个res ...

  3. python爬虫流程-Python爬虫流程

    Python爬虫流程 主要分为三个部分 (1)获取网页-------->(2)解析网页(获取数据)--------->存储数据 三个流程的技术实现 1.获取网页 -获取网页的技术基础:ur ...

  4. python自学流程-python 学习流程

    python语言基础 (1)Python3入门,数据类型,字符串 (2)判断/循环语句,函数,命名空间,作用域 (3)类与对象,继承,多态 (4)tkinter界面编程 (5)文件与异常,数据处理简介 ...

  5. python安装流程-Python安装与卸载流程

    Python安装流程: 一.下载 在网上(输入网址https://www.python.org/downloads/)下载Windows最新的python程序(我电脑为64位) 二.安装 根据自己的电 ...

  6. python安装流程-python安装流程和注意事项

    Python安装流程 点击下载选项进入下载界面,选择你需要下载的python版本,一般我们选择win系统的下载: 选择你对应的机器位数的版本,如果不知道电脑是多少位的,可以点击我的电脑右键--> ...

  7. python爬虫流程-Python:爬虫处理流程及网页解析

    爬虫处理流程: 将互联网上的网页获取到本地 对网页进行解析 网页解析是从网页中分离出我们所需要的.有价值的信息,以及新的待爬取的URL. 网页的解析的方法: 正则表达式(采用模糊匹配的方式,找出我们所 ...

  8. python自学流程-Python系统学习流程图,教你一步步学习python

    对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! Pytho ...

  9. python处理流程-python流程处理

    python流程处理 1.流程处理if...else#!/bin/bash/env python #_*_ coding:utf-8 _*_ #python version :python3.6 im ...

最新文章

  1. Java_JAVA6动态编译的问题
  2. 解析深度学习:卷积神经网络原理与视觉实践
  3. 后端程序员必备的Linux基础知识
  4. mysql配置-django
  5. 快速排序详解+各种实现方式
  6. 操作系统【三】内存管理基础+连续内存分配
  7. HTML+CSS+JS实现 ❤️CSS3图片遮罩高亮显示❤️
  8. 案例:使用XPath的的爬虫
  9. mysql jdbc 驱动名称_【经验分享】常用 JDBC 驱动名字和 URL 列表
  10. 网工年薪100w+,你在哪个阶段?
  11. 2017c语言自学贴吧,【图片】17年1.9开启我的C语言学习之路—小白篇【c语言吧】_百度贴吧...
  12. 实时监测tcp链接状态_工业dtu矿山地压监测系统
  13. 【GNN】一文轻松了解Graph Neural Networks
  14. 微信公众号支付开发流程
  15. OpenCV中文官方文档-分享
  16. C#调用QQ邮箱简单代码(网络摘抄笔记)
  17. _ZN10tensorflow8internal21CheckOpMessageBuilder9NewStringEv
  18. react native 动画组件(Animated)浅析
  19. linux命令-ll之按时间、大小顺序排列显示
  20. Oracle 数据库一体机:zData Light - 分布式存储管理平台

热门文章

  1. vim括号匹配跳转操作
  2. 开发日记-20190524 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
  3. 机器学习 不均衡数据的处理方法
  4. python dig trace 功能实现——通过Querying name server IP来判定是否为dns tunnel
  5. sar 找出系统瓶颈的利器 目前Linux上最为全面的系统性能分析工具之一 直接 sar -dur 1 30 即可看内存 CPU和IO占用...
  6. 缓存方式之cookie的使用
  7. 洛谷P3168 [CQOI2015]任务查询系统 [主席树,差分]
  8. Git环境搭建与基本使用方法
  9. const constptr 和引用的盲点(未解决)
  10. MyBatis学习总结[4]-ResultMap子元素