代码拉取完成,页面将自动刷新
# 要求:用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])
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。