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()

爬虫原理

1460000015197231?w=1351&h=824

多页面爬虫流程

1460000015197232?w=1173&h=811

如何安装Python环境?

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

1460000015197233?w=1281&h=403

工欲善其事,必先利其器

推荐PyCharm

推荐两个第三方库

Beautiful Soup 中文文档

Scrapy 中文文档

QuickDemo

安装Scrapy并创建项目

pip install scrapy

scrapy startproject QuickDemo

cd QuickDemo

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

1460000015197235?w=877&h=738

具体代码(需要事先安装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

爬取数据成功如图:

1460000015197236?w=1025&h=841

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

1460000015197237?w=1183&h=635

打开jianshu.txt如图:

1460000015197238?w=873&h=778

以下是参考链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值