python爬虫办公实例100例_简单的python爬虫实例

本文介绍了一个Python爬虫实例,演示如何爬取全景网中关于中东人的图片。首先分析源代码找到图片链接位置,然后构建URL列表,通过正则表达式匹配并下载每页的图片,存储到本地。最后,作者提到可能优化成多线程以提高爬取速度。
摘要由CSDN通过智能技术生成

爬取搜索出来的所有“中东人”的图片:

先看一下源代码,找到存放图片链接的地方,在源代码最下面的部分:

先说一下思路:

构造url列表=》依次爬取每个页面=》先在网页源代码中找到存放图片链接的地方=》获取到这一地方的文本=》正则匹配出每个页面中每张图片的链接=》存储每张图片

来看爬取的代码:

import requests

import re

from bs4 import BeautifulSoup

address = "https://www.quanjing.com/category/1286521/"

url_list = []                      #用于存储,每个页面的url列表

pipei = re.compile('

# 构造url

def get_url_list():

for i in range(1, 3):      #规定爬取到的页数,这里爬取到第二页

url = address + str(i) + '.html'

url_list.append(url)

return url_list

def run():

y = 1

i = 0

for url in get_url_list():    #这个循环用于依次爬取页面

html = requests.get(url=url).text  #请求页面

soup = BeautifulSoup(html, 'lxml')

divs = str(soup.find_all(attrs={"class": "list"})) #获取存放链接的那一部分文本,并转换为字符串,正则必须是字符串类型要不不能进行匹配

lianjies = re.findall(pipei, divs)      #匹配到一个页面中每一张图片的链接,以列表的形式返回

for lianjie in lianjies:            #这个循环用于存储页面中的每一张图片

result = requests.get(url=lianjie).content

with open('E:\py project\quanjingwang\image\{}.jpg'.format(i), 'wb') as f:

f.write(result)

i += 1

print("第{0}张存储完成".format(i))

print("第{0}页爬取完成".format({y}))

y += 1

if __name__ == '__main__':

run()

代码不难,但爬取速度有点慢,后面试着改成多线程。。。(ps:太菜了,若文章有错误,欢迎大佬随时指正。。)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值