文章目录

  • 一,准备
  • 二,代码
  • 三,爬取指定网页http://quotes.toscrape.com/js/的名言
  • 四,Selenium:requests+Selenum爬取京东物品
  • 五,实验结果
  • 六,总结
  • 七,参考

一,准备

安装本次实验所需安装包
使用anaconda prompt

pip install selenium

然后去下载驱动,根据不同的浏览器的话需要下载不同的驱动,这里推荐Chrome
驱动下载网址:https://npm.taobao.org/mirrors/chromedriver/
下载之后是一个exe文件,然后将这个文件的路径添加到环境变量

二,代码

运行结果我就放在最后面的视频里面了,就不一一截屏了
打开浏览器,并打开百度

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
#进入网页
driver.get("https://www.baidu.com/")

右键,对百度页面进行检查
可以发现搜索框的id是kw
所以就简单了
在搜索框里面输入

p_input = driver.find_element_by_id("kw")
p_input.send_keys('原神')

但是输入之后还需要回车就很麻烦,所以继续
检查网页找到按钮百度一下的id,为su

#点击搜索按钮
p_btn=driver.find_element_by_id('su')
p_btn.click()

三,爬取指定网页http://quotes.toscrape.com/js/的名言

同样,先打开网页,找到名言的id,不用想,应该是text,毕竟是text文本格式的。
所以直接代码

from bs4 import BeautifulSoup as bs
from selenium import webdriver
import csv
from selenium.webdriver.chrome.options import Options
from tqdm import tqdm#在电脑终端上显示进度,使代码可视化进度加快
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('http://quotes.toscrape.com/js/')
#定义csv表头
quote_head=['名言','作者']
#csv文件的路径和名字
quote_path='C:\\Users\\hp\\Desktop\\pachong.csv'
#存放内容的列表
quote_content=[]'''
function_name:write_csv
parameters:   csv_head,csv_content,csv_path
csv_head:     the csv file head
csv_content:  the csv file content,the number of columns equal to length of csv_head
csv_path:     the csv file route
'''
def write_csv(csv_head,csv_content,csv_path):with open(csv_path, 'w', newline='') as file:fileWriter =csv.writer(file)fileWriter.writerow(csv_head)fileWriter.writerows(csv_content)print('爬取信息成功')###
#可以用find_elements_by_class_name获取所有含这个元素的集合(列表也有可能)
#然后把这个提取出来之后再用继续提取
quote=driver.find_elements_by_class_name("quote")
#将要收集的信息放在quote_content里
for i in tqdm(range(len(quote))):    quote_text=quote[i].find_element_by_class_name("text")quote_author=quote[i].find_element_by_class_name("author")temp=[]temp.append(quote_text.text)temp.append(quote_author.text)quote_content.append(temp)
write_csv(quote_head,quote_content,quote_path)

结果

四,Selenium:requests+Selenum爬取京东物品

代码

from selenium import webdriver
import time
import csv
from tqdm import tqdm#在电脑终端上显示进度,使代码可视化进度加快
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
#加载页面
driver.get("https://www.jd.com/")
time.sleep(3)#定义存放图书信息的列表
goods_info_list=[]
#爬取200本
goods_num=200
#定义表头
goods_head=['价格','名字','链接']
#csv文件的路径和名字
goods_path='C:\\Users\\hp\\Desktop\\pachong2.csv'#向输入框里输入Java
p_input = driver.find_element_by_id("key")
p_input.send_keys('抱枕')#button好像不能根据类名直接获取,先获取大的div,再获取按钮
from_filed=driver.find_element_by_class_name('form')
s_btn=from_filed.find_element_by_tag_name('button')
s_btn.click()#实现点击#获取商品价格、名称、链接
def get_prince_and_name(goods):#直接用css定位元素#获取价格goods_price=goods.find_element_by_css_selector('div.p-price')#获取元素goods_name=goods.find_element_by_css_selector('div.p-name')#获取链接goods_herf=goods.find_element_by_css_selector('div.p-img>a').get_property('href')return goods_price,goods_name,goods_herfdef  drop_down(web_driver):#将滚动条调整至页面底部web_driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')time.sleep(3)#获取爬取一页
def crawl_a_page(web_driver,goods_num):#获取图书列表drop_down(web_driver)goods_list=web_driver.find_elements_by_css_selector('div#J_goodsList>ul>li')#获取一个图书的价格、名字、链接for i in tqdm(range(len(goods_list))):goods_num-=1goods_price,goods_name,goods_herf=get_prince_and_name(goods_list[i])goods=[]goods.append(goods_price.text)goods.append(goods_name.text)goods.append(goods_herf)goods_info_list.append(goods)if goods_num==0:breakreturn goods_numwhile goods_num!=0:goods_num=crawl_a_page(driver,goods_num)btn=driver.find_element_by_class_name('pn-next').click()time.sleep(1)
write_csv(goods_head,goods_info_list,goods_path)

五,实验结果

实验结果视频上传到了哔哩哔哩,网址是https://www.bilibili.com/video/BV1ta411r79R/

python爬取名言和商品信息

六,总结

和静态网页一样查看网页结构,找到元素id或者利用相关函数得到元素,然后将信息获取,存储,差别不是很大

七,参考

动态网页爬虫

python爬取名言和商品信息相关推荐

  1. python爬取天猫商品信息

    python爬取天猫商品信息 主要信息有:商品名,价格,月销量,评论数,人气值,店铺评分 以智能手机为例! 首先,发掘网址规律: 第二页的网址如上 第三页的网址如上 注意网址中的数字(靠近中间位置): ...

  2. python爬取京东商品信息代码_爬取京东商品信息

    利用 BeautifulSoup + Requests 爬取京东商品信息并保存在Excel中 一.查看网页信息 打开京东商城,随便输入个商品,就选固态硬盘吧 先看看 URL 的规律,可以看到我们输入的 ...

  3. Python爬取京东商品信息

    *使用Python爬取京东华为手机前十页的所有商品的链接.名称.价格.评价数以及店铺名称. 1.前期准备 (1)下载驱动 我使用的是谷歌浏览器,所以要下载谷歌驱动,用来告诉电脑在哪打开浏览器. 驱动文 ...

  4. Python爬取京东商品信息以及评论存进MySQL

    目录 构建mysql数据表 第一版: 第二版 : 第三版: 总结: 构建mysql数据表 问题:使用SQL alchemy时,非主键不能设置为自增长,但是我想让这个非主键仅仅是为了作为索引,autoi ...

  5. python爬取京东商品信息代码_Python利用Xpath选择器爬取京东网商品信息

    HTML文件其实就是由一组尖括号构成的标签组织起来的,每一对尖括号形式一个标签,标签之间存在上下关系,形成标签树:XPath 使用路径表达式在 XML 文档中选取节点.节点是通过沿着路径或者 step ...

  6. python 爬取京东商品信息

    # -*- coding: utf-8 -*- import os import re import time from urllib.parse import urlencode import re ...

  7. Python爬虫实战,requests+openpyxl模块,爬取手机商品信息数据(附源码)

    前言 今天给大家介绍的是Python爬取手机商品信息数据,在这里给需要的小伙伴们代码,并且给出一点小心得. 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文本 ...

  8. selenium自动化测试和爬取名言和京东商品信息

    如愿 一.selenium 1.1简介 1.2 下载 二.自动化测试 三.爬取名言 四.爬取京东商品信息 五.总结 六.参考资料 一.selenium 1.1简介 Selenium是一个用于Web应用 ...

  9. go爬虫和python爬虫哪个好_python 爬虫实战项目--爬取京东商品信息(价格、优惠、排名、好评率等)-Go语言中文社区...

    利用splash爬取京东商品信息 一.环境 window7 python3.5 pycharm scrapy scrapy-splash MySQL 二.简介 为了体验scrapy-splash 的动 ...

最新文章

  1. 你不知道的对称密钥与非对称密钥
  2. quasar_Quasar和Akka –比较
  3. Linux系统的中断、系统调用和调度概述【转】
  4. 命令行以及git基础使用
  5. web页面--前端明水印
  6. 李航《统计学习方法》-----支持向量机
  7. mysql注入 xfkxfk_WSS最新版多处SQL注入直接获取数据三(官方demo演示及快速定位漏洞技巧)...
  8. 头文件相互包含问题的解决办法
  9. php mian函数,电脑main什么意思
  10. 输入一个十进制数N,将它转换成R进制数输出(运用递归实现)
  11. vue综合项目——悦听音乐播放器
  12. 玩转AgileCDN(二)——运维小哥做报表,不再为时区换算而烦恼
  13. 高精度除法(高精度除以高精度)
  14. Label Smoothing 标签平滑 (Label smooth regularization, LSR)
  15. 怀孕也就36-40周足够,而芯片54周交期伤心欲绝了!
  16. linux 开机进入initramfs
  17. ORA-ALL Oracle连接报错
  18. cpu实时数据是什么意思?
  19. 【uniapp】压缩图片image-conversion
  20. 自清洗袋式过滤器的自清洗方法

热门文章

  1. 远光软件斩获2021中国产业区块链峰会双项殊荣
  2. python复制excel的表格内容和格式
  3. 实战演练 飞盘射击 要点汇总
  4. 处理vue-element-admin中三级菜单keep-alive页面无法缓存
  5. DDR4实战教学(三):特性与电气参数
  6. 七牛云解析CNAME
  7. matlab——自带的隐马尔科夫工具箱的使用
  8. 获取阿里巴巴详情解决方式
  9. mkdir:无法创建目录““,输入/输出错误
  10. 如何使用Stringify为孩子的PC游戏设置时间限制