Python3 爬虫快速入门攻略

article/2025/9/7 14:22:49

一、什么是网络爬虫?

1、定义:网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本。

2、简介:网络蜘蛛是一个很形象的名字。如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛。网络蜘蛛是通过网页的链接地址来寻找网页,从 网站某一个页面开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。

3、爬虫流程:①先由urllib的request打开Url得到网页html文档——②浏览器打开网页源代码分析元素节点——③通过Beautiful Soup或则正则表达式提取想要的数据——④存储数据到本地磁盘或数据库(抓取,分析,存储)

二、上代码,直接看注释

开发环境:Win10+Python 3.6.1 64bit+PyCharm,自学Python 3爬虫时的备忘笔记。

1爬取简书网站首页文章的标题和文章链接

from urllib import request
from bs4 import BeautifulSoup            #Beautiful Soup是一个可以从HTML或XML文件中提取结构化数据的Python库#构造头文件,模拟浏览器访问
url="http://www.jianshu.com"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
page = request.Request(url,headers=headers)
page_info = request.urlopen(page).read().decode('utf-8')#打开Url,获取HttpResponse返回对象并读取其ResposneBody# 将获取到的内容转换成BeautifulSoup格式,并将html.parser作为解析器
soup = BeautifulSoup(page_info, 'html.parser')
# 以格式化的形式打印html
#print(soup.prettify())titles = soup.find_all('a', 'title')# 查找所有a标签中class='title'的语句'''
# 打印查找到的每一个a标签的string和文章链接for title in titles:print(title.string)print("http://www.jianshu.com" + title.get('href'))   
'''#open()是读写文件的函数,with语句会自动close()已打开文件
with open(r"D:\Python\test\articles.txt","w") as file:       #在磁盘以只写的方式打开/创建一个名为 articles 的txt文件for title in titles:file.write(title.string+'\n')file.write("http://www.jianshu.com" + title.get('href')+'\n\n')

结果:

2、爬取知乎网站的美女图片链接,并保存到本地

from urllib import request
from  bs4 import BeautifulSoup
import re
import timeurl = "https://www.zhihu.com/question/22918070"
html = request.urlopen(url).read().decode('utf-8')
soup = BeautifulSoup(html,'html.parser')
#print(soup.prettify())#用Beautiful Soup结合正则表达式来提取包含所有图片链接(img标签中,class=**,以.jpg结尾的链接)的语句
links = soup.find_all('img', "origin_image zh-lightbox-thumb",src=re.compile(r'.jpg$'))
print(links)# 设置保存图片的路径,否则会保存到程序当前路径
path = r'D:\Python\test\images'                            #路径前的r是保持字符串原始值的意思,就是说不对其中的符号进行转义
for link in links:print(link.attrs['src'])#保存链接并命名,time.time()返回当前时间戳防止命名冲突request.urlretrieve(link.attrs['src'],path+'\%s.jpg' % time.time())  #使用request.urlretrieve直接将所有远程链接数据下载到本地

结果:

 

三、学习总结

       大概学习了下通过urllib和Beautiful Soup 进行简单数据爬取的流程,但是那只适用于一些简单的、数据量比较小的爬虫项目,如果需要爬取的数据量比较大的话,之前的方法必定非常缓慢,而且还可能遇到大规模爬虫IP被网站封禁的情况,因为好的网站会有反爬虫策略。多线程和分布式爬虫、IP代理、处理验证码、模拟登陆、内置浏览器引擎爬虫,还有注意配合反爬虫措施比较少的移动APP端抓取(抓包工具Fiddler)等等问题。

        考虑成熟框架Scrapy,Scrapy 百度百科
    

四、参考资料

1、Python3 爬虫学习笔记

2、Python3 教程|菜鸟教程

3、PyCharm最新2017激活码

 


http://chatgpt.dhexx.cn/article/cSHUx6k7.shtml

相关文章

Python3爬虫(一):Python的入门学习以及Python网络爬虫的初步认识

Author:baiyucraft BLog: baiyucraft’s Home IDE:PyCharm 其实对于Python,一直想去学习,但一直没有足够的的时候去研究,这次趁疫情在家的时间,对于Python好好的研究研究。算是作为自己对于Py…

Python3网络爬虫(一):利用urllib进行简单的网页抓取

运行平台:Windows Python版本:Python3.x IDE:Sublime text3 转载请注明作者和出处:http://blog.csdn.net/c406495762/article/details/58716886 一直想学习Python爬虫的知识,在网上搜索了一下,大部分都是…

python3 爬虫(初试牛刀)

此文章仅供学习交流使用 在学习爬虫之前,把最近对于 VMware 的网络学习做个总结 接下来,步入正题! 分析 Robots 协议 禁止所有爬虫访问任何目录的代码: User-agent: * Disallow:/允许所有爬虫访问任何目录的代码: …

Python3爬虫详解

1概述 爬虫在Python中是个实现起来比较简单,关键在于网页的分析和内容的抓取。最近由于个人需要写了些内容,这里总结下爬虫相关的内容。 本文爬虫相关实现没有使用scrapy框架,通过urllib请求、bs4来实现。 2网络请求 网络请求部分用到urlli…

python3爬虫学习

python3爬虫学习 一、爬虫流程: ①先由urllib的request打开Url得到网页html文档 ②浏览器打开网页源代码分析元素节点 ③通过Beautiful Soup或则正则表达式提取想要的数据 ④存储数据到本地磁盘或数据库(抓取,分析,存储&…

最通俗、最详细的 Python3 网络爬虫入门指南

很多朋友学习Python都是先从爬虫开始,其原因不外两方面: 其一Python对爬虫支持度较好,类库众多,其二语法简单,入门容易,所以两者形影相随,不离不弃。 要使用python语言做爬虫,首先需…

Maven安装和配置本地仓库和阿里云镜像

maven安装配置换阿里源 1.下载maven 打开maven官网https://maven.apache.org/download.cgi,下载maven安装包,下载完成后解压到你想放的位置,不用安装 2.配置环境变量 3.配置阿里源和repository地址 打开刚才的解压文件conf文件夹下的setting.…

阿里云云效Maven仓库

一、Maven仓库概要 私服的目的:我们有一些自己的公用包,不想拉取工程编译,直接使用已经上传到私服的Jar包,在需要使用的项目工程直接引用使用,加速开发效率和编译效率。 阿里云仓库地址: 公用主仓库&#…

阿里云maven仓库的使用详解以及报错解决方法

仓库介绍 阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库,帮助研发人员提高研发生产效率,使用阿里云Maven中央仓库作为下载源,速度更快更稳定。阿里云云效是企业级一站式 DevOps 平台,覆盖产品从需求到运营的研发全生命周…

IDEA设置Maven阿里镜像仓库

1.打开IDEA安装目录&#xff0c;并进入如下相对路径 "\IntelliJ IDEA 2022.3.2\plugins\maven\lib\maven3\conf"。 2.打开settings.xml文件&#xff0c;并按照阿里官方指南插入配置项到指定位置。 2.1) 查看官方指南 2.2) 复制配置内容 <mirror><id>al…

IDEA中的maven阿里仓库配置

IDEA中的maven阿里仓库配置 1、进入官网&#xff1a; http://maven.apache.org/download.cgi 下载解压&#xff0c;然后记住解压位置 2、settings.xml配置更改 打开下载的文件 apache-maven-3.6.3 > conf> settings.xml&#xff08;图一为原文件&#xff0c;图二为配置…

gradle配置阿里Maven仓库

使用gradle编译一个开源项目时&#xff0c;发现下载依赖包比较慢,打开项目下的build.gradle文件: 可以看到并没有配置国内Maven仓库&#xff0c;那就配置一个呗,参照Gradle官方文档配置阿里Maven仓库 在build.gradle文件中修改repositories,也就是在mavenLocal()和mavenCentral…

maven配置阿里仓库

大家使用maven下载jar包会很慢&#xff0c;最主要的原因是maven的仓库在英国&#xff0c;但如果使用了阿里的仓库下载jar包就会变得很便捷。下面是如和配置阿里的仓库。 <mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>ali…

maven 配置阿里云仓库

目录 0. 前置工作&#xff1a;安装jdk1. 配置 maven 环境变量2. 配置阿里云镜像仓库3 idea中maven的相关配置 0. 前置工作&#xff1a;安装jdk 参考步骤 1 2 3 1. 配置 maven 环境变量 2. 配置阿里云镜像仓库 对解压后的maven的conf/settings进行编辑 本地仓库中没有的东…

Maven之阿里云镜像仓库配置

Maven 镜像 简介 阿里云Maven中央仓库为阿里云云效提供的公共代理仓库&#xff0c;帮助研发人员提高研发生产效率&#xff0c;使用阿里云Maven中央仓库作为下载源&#xff0c;速度更快更稳定。阿里云云效 是企业级一站式 DevOps 平台&#xff0c;覆盖产品从需求到运营的研发全生…

阿里云Maven仓库

文章目录 一、仓库介绍二、配置指南1. maven 配置指南2. gradle 配置指南 三、国内Maven仓库搜索地址四、Maven-Search插件使用1. 安装2. 使用 一、仓库介绍 阿里云云效 Maven 是什么 阿里云Maven中央仓库为 阿里云云效 提供的公共代理仓库&#xff0c;帮助研发人员提高研发生…

免费无损高品质音乐下载器V3.5

无损音乐下载器&#xff0c;今天朋友推荐给我的测试的一款 win 平台音乐下载软件&#xff0c;支持无损、超品、高品等音质的下载&#xff0c;此外它还支持在线播放 MV。这款软件经过测试还不错&#xff0c;适合喜欢高品质音乐的朋友。当然如果对于音乐品质没有太高要求还是推荐…

付费音乐下载。

墨灵音乐可以直接下载各大音乐app的付费音乐。 链接&#xff1a;https://music.mli.im/ 打开链接以后点击探索音乐就可以啦。然后进去如下界面。 接着搜索你想要下载的音乐。我们随便搜索一首歌曲。点击下载歌曲。之后会进去这个界面。然后右键点击另存为 就可以下载啦。

抖音歌曲免费下载

无损音乐下载网站http://regeku.top 1、搜索需要下载的歌曲&#xff0c;点击下载。 2、点击下载歌曲 3、点击下载 4、点击下载 5、保存到桌面 6、手机扫码关注&#xff0c;点击热歌下载

如何免费下载网易云收费音乐?不需会员也能做到

今天的主题&#xff0c;就是给大伙介绍个免费下载网易云音乐的收费音乐&#xff08;其他平台也适用&#xff09; 。简单实用&#xff0c;基本不需要什么计算机编程基础&#xff0c;人人都可学会&#xff01; 废话不多说&#xff0c;直接进入主题&#xff01; 先用谷歌浏览器打…