python爬虫流程-Python爬虫入门
什么是爬虫?
一段自动抓取互联网信息的程序,从互联网上抓取对于我们有价值的信息
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爬虫入门相关推荐
- python爬虫 小白轻松从0到1_如何从0到1,学习Python的流程【小白入门】
Hello World! 写下Hello World是你在学任何编程语言时做的第一件事,除了让你对第一次代码运行感到兴奋,它也会帮你检测目前运行环境是否正常. 我们第一个运行的程序! 重点 可读性-- ...
- python爬虫流程-Python爬虫程序架构和运行流程原理解析
1 前言 Python开发网络爬虫获取网页数据的基本流程为: 发起请求 通过URL向服务器发起request请求,请求可以包含额外的header信息. 获取响应内容 服务器正常响应,将会收到一个res ...
- python爬虫流程-Python爬虫流程
Python爬虫流程 主要分为三个部分 (1)获取网页-------->(2)解析网页(获取数据)--------->存储数据 三个流程的技术实现 1.获取网页 -获取网页的技术基础:ur ...
- python自学流程-python 学习流程
python语言基础 (1)Python3入门,数据类型,字符串 (2)判断/循环语句,函数,命名空间,作用域 (3)类与对象,继承,多态 (4)tkinter界面编程 (5)文件与异常,数据处理简介 ...
- python安装流程-Python安装与卸载流程
Python安装流程: 一.下载 在网上(输入网址https://www.python.org/downloads/)下载Windows最新的python程序(我电脑为64位) 二.安装 根据自己的电 ...
- python安装流程-python安装流程和注意事项
Python安装流程 点击下载选项进入下载界面,选择你需要下载的python版本,一般我们选择win系统的下载: 选择你对应的机器位数的版本,如果不知道电脑是多少位的,可以点击我的电脑右键--> ...
- python爬虫流程-Python:爬虫处理流程及网页解析
爬虫处理流程: 将互联网上的网页获取到本地 对网页进行解析 网页解析是从网页中分离出我们所需要的.有价值的信息,以及新的待爬取的URL. 网页的解析的方法: 正则表达式(采用模糊匹配的方式,找出我们所 ...
- python自学流程-Python系统学习流程图,教你一步步学习python
对于刚开始接触Python的小伙伴来说,没有思路方法,不知道从何开始学习,把软件环境安装好后就不知所措了!接下来我给大家分享下多位大牛倾力打造的python系统学习流程,一个月才设计完的! Pytho ...
- python处理流程-python流程处理
python流程处理 1.流程处理if...else#!/bin/bash/env python #_*_ coding:utf-8 _*_ #python version :python3.6 im ...
最新文章
- Java_JAVA6动态编译的问题
- 解析深度学习:卷积神经网络原理与视觉实践
- 后端程序员必备的Linux基础知识
- mysql配置-django
- 快速排序详解+各种实现方式
- 操作系统【三】内存管理基础+连续内存分配
- HTML+CSS+JS实现 ❤️CSS3图片遮罩高亮显示❤️
- 案例:使用XPath的的爬虫
- mysql jdbc 驱动名称_【经验分享】常用 JDBC 驱动名字和 URL 列表
- 网工年薪100w+,你在哪个阶段?
- 2017c语言自学贴吧,【图片】17年1.9开启我的C语言学习之路—小白篇【c语言吧】_百度贴吧...
- 实时监测tcp链接状态_工业dtu矿山地压监测系统
- 【GNN】一文轻松了解Graph Neural Networks
- 微信公众号支付开发流程
- OpenCV中文官方文档-分享
- C#调用QQ邮箱简单代码(网络摘抄笔记)
- _ZN10tensorflow8internal21CheckOpMessageBuilder9NewStringEv
- react native 动画组件(Animated)浅析
- linux命令-ll之按时间、大小顺序排列显示
- Oracle 数据库一体机:zData Light - 分布式存储管理平台
热门文章
- vim括号匹配跳转操作
- 开发日记-20190524 关键词 读书笔记《鸟哥的Linux私房菜-基础学习篇》
- 机器学习 不均衡数据的处理方法
- python dig trace 功能实现——通过Querying name server IP来判定是否为dns tunnel
- sar 找出系统瓶颈的利器 目前Linux上最为全面的系统性能分析工具之一 直接 sar -dur 1 30 即可看内存 CPU和IO占用...
- 缓存方式之cookie的使用
- 洛谷P3168 [CQOI2015]任务查询系统 [主席树,差分]
- Git环境搭建与基本使用方法
- const constptr 和引用的盲点(未解决)
- MyBatis学习总结[4]-ResultMap子元素