📅  最后修改于: 2023-12-03 15:27:09.563000             🧑  作者: Mango
Python 是一种流行的计算机编程语言,Python 拥有丰富的第三方库,使得使用 Python 进行网络爬虫和数据分析等非常方便。本文将介绍如何使用 Python 编写一个简单的脚本,从在线书籍商店搜索书籍,并获取书籍的相关信息。
本脚本将使用 requests 库和 BeautifulSoup 库,如你电脑尚未安装这两个库,请使用 pip 安装:
pip install requests
pip install beautifulsoup4
在代码中,我们将使用 requests 库向在线书店发送 HTTP 请求,获得响应,然后使用 BeautifulSoup 库解析响应网页,提取书籍信息。
import requests
from bs4 import BeautifulSoup
def search_book(keyword):
url = 'https://www.books.com.tw/search/query'
params = {
'key': keyword,
'cat': '',
'sort': 'EACC'
}
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
res = requests.get(url, params=params, headers=headers)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'html.parser')
books = []
for li in soup.select('li.item'):
book = {
'title': li.select_one('h3 a').text.strip(),
'price': li.select_one('strong').text.strip(),
'author': li.select_one('ul.item-info li').text.strip(),
'link': li.select_one('a[href^="https://www.books.com.tw/products/"]').get('href')
}
books.append(book)
return books
我们使用 search_book
函数搜索书籍,传入参数 keyword
,返回包含所有找到的书籍信息的列表。
我们可以测试该函数是否正常工作,搜索关键字为 Python
:
books = search_book('Python')
for book in books:
print(book)
运行结果可能如下:
{'title': 'Python入门', 'price': 'NT$360', 'author': '洪錦魁', 'link': 'https://www.books.com.tw/products/0010773848'}
{'title': 'Python数据分析实战', 'price': 'NT$770', 'author': '王斌', 'link': 'https://www.books.com.tw/products/0010802475'}
{'title': 'Python网络爬虫从入门到实战', 'price': 'NT$660', 'author': '王斌', 'link': 'https://www.books.com.tw/products/0010803066'}
...
Python 可以方便地进行数据分析和网络爬虫等,本文演示了如何用 Python 编写一个简单的脚本,搜索在线书籍商店中的书籍,并提取书籍信息。该脚本使用 requests 库发送 HTTP 请求,使用 BeautifulSoup 库解析 HTML 响应,提取书籍信息。