Python 官方文档:入门教程 => 点击学习
1、定义:网络爬虫(Web Spider),又被称为网页蜘蛛,是一种按照一定的规则,自动地抓取网站信息的程序或者脚本。 2、简介:网络蜘蛛是一个很形象的名字。如果把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘
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')
from urllib import request
from bs4 import BeautifulSoup
import re
import time
url = "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直接将所有远程链接数据下载到本地
--结束END--
本文标题: Python3 爬虫快速入门攻略
本文链接: https://www.lsjlt.com/news/186191.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0