Python:网络爬虫

网络爬虫,爬取某网站的某个网页的所有图片。

python的网络爬虫是很强大的。

import urllib.request
import re

path="http://www.xiaohuar.com/2014.html"
content=urllib.request.urlopen(path).read()

content=content.decode("gb2312","ignore")

imgRe=re.compile(r'src="(.+?\.jpg)"')
imagePaths=imgRe.findall(content)

i=0

for imagePath in imagePaths:
    if "http:" not in imagePath:
        imagePath="http://www.xiaohuar.com"+imagePath
    i+=1
    urllib.request.urlretrieve(imagePath,f'E:\\Kingjava\\images\\{i}.jpg')

print(i)

爬取的是一个校花网的页面图片

1.path:是一个网站的网址,注意,一定是要有带网页名字的。否则,不知道是爬取哪个?

因为,爬虫终究爬取的是网页。

2.urllib.request.urlopen(path).read()
读取整个网页

3.content=content.decode("gb2312","ignore")

网页具有自身的编码格式

ignore:忽略

注意:这不是在给content设置编码格式,而是复制给本身

4.
imgRe=re.compile(r'src="(.+?\.jpg)"')

正则表达式

寻找后缀为.jpg的图片,也可以根据需要修改

5.

imagePaths=imgRe.findall(content)

找到所有.jpg图片路径

6.

foreach imagePaths

根据网站的特殊性,某些图片没有完整路径,需要进行判断

urllib.request.urlretrieve(imagePath,f'E:\\Kingjava\\images\\{i}.jpg')

一一根据路径下载到指定的某个文件夹

爬虫的框架:

scrapy

上述所做的只是简单的爬取图片

真正的需求爬取,是指定的到很多的网爬取一些重要的信息。然后,进行信息对比,从而得到正确的答案。

不得不承认,baidu是搜索引擎是超一流的,某猜测,或者说肯定,baidu的搜索一定存在着爬取技术。

猜你喜欢

转载自blog.csdn.net/qq_43532342/article/details/83858481