Python爬虫实战:自动化登录网站,爬取商品数据
时间:2022-07-25
本文章向大家介绍Python爬虫实战:自动化登录网站,爬取商品数据,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
前言
随着互联网时代的到来,人们更加倾向于互联网购物。某东又是电商行业的巨头,在某东平台中有很多商家数据。今天带大家使用python+selenium工具获取这些公开的商家数据
适合阅读人群:
- selenium工具的使用
- 结构化的数据解析
- csv数据保存
环境介绍:
- python 3.6
- pycharm
- selenium
- csv
- time
selenium
起初是用来做网页测试(性能并发),可以直接获取到浏览器渲染之后的数据(不用解密)
用户行为和你代码逻辑需要结合(你怎么操作浏览器)
谷歌驱动器
PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取
可以免费领取源码、项目实战视频、PDF文件等
受害目标
https://www.jd.com/
部分代码
from selenium import webdriver
import time
import csv
def parse_product():
"""解析商品数据"""
lis = driver.find_elements_by_css_selector('.gl-warp.clearfix>li')
for li in lis:
try:
name = li.find_element_by_css_selector('.p-name a em').text # 商品的名字
price = li.find_element_by_css_selector('.p-price strong i').text + '元' # 商品的价格
info = li.find_element_by_css_selector('.p-commit strong a').text # 商品的评价数
title = li.find_element_by_css_selector('.J_im_icon a').get_attribute('title') # 商品的店铺
print(name, price, info, title)
with open('data.csv', mode='a', encoding='utf-8', newline='') as f:
f.write()
csv_write = csv.writer(f, delimiter=',')
csv_write.writerow([name, price, info, title])
except Exception as e:
print(e)
def get_next():
"""找到下一页标签, 点击"""
driver.find_element_by_css_selector('#J_bottomPage > span.p-num > a.pn-next > em').click()
driver.implicitly_wait(10)
keyword = input('请输入你想要的搜索商品的关键字:')
driver = webdriver.Chrome() # 创建一个浏览器对象
driver.get('https://www.jd.com/')
get_product(keyword)
for page in range(1, 101):
drop_down()
parse_product()
get_next()
# 想要完整源码的同学可以关注我的公众号:松鼠爱吃饼干
# 回复“京东”即可免费获取
运行代码得到数据
想要完整源码的同学可以关注我的公众号:松鼠爱吃饼干
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法