1 Star 0 Fork 0

黄昕怡/数据采集与融合

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
实践作业12.py 1.77 KB
一键复制 编辑 原始数据 按行查看 历史
黄昕怡 提交于 2024-10-16 12:45 +08:00 . 作业1
# 要求:用requests和re库方法设计某个商城(自已选择)商品比价定向爬虫,爬取该商城,以关键词“书包”搜索页面的数据,爬取商品名称和价格。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from bs4 import BeautifulSoup
from webdriver_manager.chrome import ChromeDriverManager
# 导入
import re
import time
import urllib.parse
import urllib.request
from selenium import webdriver
# 导入selenium库,用于模拟浏览器操作
Lname = [] # 创建一个空列表,用于存储商品名称
Lprince = [] # 创建一个空列表,用于存储商品价格
service = Service(ChromeDriverManager().install())
browser = webdriver.Chrome(service=service)
print('正在爬取 ...')
browser.get('https://www.guangshop.com/?r=/l&kw=%25E4%25B9%25A6%25E5%258C%2585&origin_id=&sort=0')#将商城网站设置为:逛商城
time.sleep(15) # 等待页面加载完成
browser.refresh() # 刷新
ab = browser.page_source # 获取页面源代码
# 使用正则表达式匹配商品名称和价格(关键就是正则表达式的表示)
name = re.findall('<span data-v-f62188ba="">[\u4e00-\u9fa50-9a-zA-Z【】\-!]*包[\u4e00-\u9fa50-9a-zA-Z【】\-!]*</span>', ab)
prince = re.findall('<span data-v-f62188ba="" class="price">\d*\.*\d*', ab)
# 遍历匹配结果,将商品名称和价格存入对应的列表
for item in name:
item = item.replace('<span data-v-f62188ba="">', '')
item = item.replace('</span>', '')
Lname.append(item)
for item in prince:
item = item.replace('<span data-v-f62188ba="" class="price">', '')
Lprince.append(item)
# 打印商品名称和价格
for i in range(1, 61):
print(str(i) + '. ' + Lname[i] + ' ' + Lprince[i])
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/fufubuff/data-collection-and-fusion.git
git@gitee.com:fufubuff/data-collection-and-fusion.git
fufubuff
data-collection-and-fusion
数据采集与融合
master

搜索帮助