欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python百行不到爬取当当网的图片以及标题导入数据库

程序员文章站 2023-12-27 16:04:33
...

前言

最近写了一个JavaWeb项目,一个图书借阅系统,他要求插入大量的数据,正好之前看到GitHub上面一个人写完JavaWeb商城之后爬取了京东的图片插入数据库,我今天也来自己实现一下。

准备环境

  • Python 3.x
  • PyCharm

Python可以直接去官方下,然后PyCharm是Python的编译器,具体的**也可以去很多公众号上面查询;

Python中有很多的爬虫包,这里我们选用的是 requests 与 BeautifulSoup库,安装的话可以使用命令行 pip 安装

开始爬虫

# 这是当当的搜索路径,keyword代表搜索的关键词,后面的page_index是页码
url = 'http://search.dangdang.com/?key=' + keyword + '&act=input&page_index='

然后我们指定图片的存储路径

save_path = 'F:\\项目\\bookManagerImg\\'

同时我们为了防止爬虫被拦截,我们将其添加一个请求头来越过拦截

header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 '
                  'Safari/537.36',
}

然后就是进行模板操作

resp = requests.get(url, headers=header)
soup = BeautifulSoup(resp.text, 'lxml')
data = soup.find_all('img')
for img in data:
	if 'data-original' in img.attrs:
		num += 1
		img_path = img.attrs['data-original']
		if not os.path.exists(save_path):
			os.makedirs(save_path)
		file_suffix = os.path.splitext(img_path)[1]
		# 获取图书名字
		book_name = str(img['alt'])
		book_name = book_name.replace(" ", "")
		# 定义文件名
		filename = save_path + str(book_num) + file_suffix
		print("文件名:" + filename)
		# 文件操作
		r = requests.get(img_path)
			with open(filename, 'wb') as f:
		f.write(r.content)
print('下载完成')

今天有点累,就先水一篇博客吧。

相关标签: 新星计划

上一篇:

下一篇: