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()
#  想要完整源码的同学可以关注我的公众号:松鼠爱吃饼干
#  回复“京东”即可免费获取

运行代码得到数据

想要完整源码的同学可以关注我的公众号:松鼠爱吃饼干