selenium获取动态网页信息(某东)-具体配置信息
需要安装的包:
selenium
关于软件的驱动:
selenium之 驱动环境配置chrome、firefox、IE
1 # encoding:utf-8
2 # Author:"richie"
3 # Date:8/16/2017
4
5 import re,json
6 from selenium import webdriver
7
8 def spider(url):
9 html = get_file(url)
10 com = re.compile(r'<li class="gl-item">.*?<div class="p-price">.*?<em>(?P<currency>.)</em><i>(?P<price>.*?)</i>'
11 r'.*?<div class="p-name">.*?<em>(?P<name>.*?)</em>'
12 r'.*?<div class="p-commit">.*?<strong>.*?<a.*?>(?P<comment_num>.*?)</a>', re.S)
13 for item in com.finditer(html):
14 yield {
15 "name": item.group("name"),
16 "currency": item.group("currency"),
17 "price": item.group("price"),
18 "comment_num": item.group('comment_num'),
19 }
20
21
22 def get_file(url):
23 try:
24 driver = webdriver.Chrome()
25 driver.get(url)
26 driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
27 source = driver.page_source
28 driver.quit()
29 return source
30 except BaseException as e:
31 print(e)
32 return None
33
34 if __name__ == '__main__':
35 for i in range(1,2):
36 page_url = "https://list.jd.com/list.html?cat=9987,653,655&ev=exprice_M1800L2500&page="+str(i)+"&sort=sort_rank_asc&trans=1&JL=6_0_0"
37 ret = spider(page_url)
38 f = open("jingdong.txt", "a",encoding='utf-8')
39 for obj in ret:
40 data = json.dumps(obj, ensure_ascii=False)
41 f.write(data + "\n")
42 print("ok")
selenium获取动态网页信息(某东)-具体配置信息的更多相关文章
- 在python使用selenium获取动态网页信息并用BeautifulSoup进行解析--动态网页爬虫
爬虫抓取数据时有些数据是动态数据,例如是用js动态加载的,使用普通的urllib2 抓取数据是找不到相关数据的,这是爬虫初学者在使用的过程中,最容易发生的情况,明明在浏览器里有相应的信息,但是在pyt ...
- Selenium获取动态图片验证码
Selenium获取动态图片验证码 关于图片验证码的文章,我想大家都有一定的了解了. 在我们做UI自动化的时候,经常会遇到图片验证码的问题. 当开发不给咱们提供万能验证码,或者测试第三方网站比如知乎的 ...
- Python爬虫 使用selenium处理动态网页
对于静态网页,使用requests等库可以很方便的得到它的网页源码,然后提取出想要的信息.但是对于动态网页,情况就要复杂很多,这种页面的源码往往只有一个框架,其内容都是由JavaScript渲染出来的 ...
- Python网络爬虫笔记(四):使用selenium获取动态加载的内容
(一) 说明 上一篇只能下载一页的数据,第2.3.4....100页的数据没法获取,在上一篇的基础上修改了下,使用selenium去获取所有页的href属性值. 使用selenium去模拟浏览器有点 ...
- 【Todo】phantomjs获取动态网页
上面一篇文章,使用了cheerio, http, request等库,来抓取了Lofter上面的美女图片. 但是很多网页是动态渲染的.据了解,Phantom.js 可以获取动态渲染的网页 http:/ ...
- AspNet Core 程序写入配置信息并再次读取配置信息
1.首先创见Core控制台应用程序 并且引入 AspNetCore.All 首先我们写入配置信息:直接代码如下 //配置信息的根对象 public static IConfigurationRoo ...
- cat .git/config查看远端服务器信息(git的配置信息:远端服务器连接信息)
本地git库中,查找其连接的远端服务器信息: 每个git库都会有一个配置信息文件.git/config. cat .git/config,可以看到信息如下: [core] reposi ...
- Selenium 获取动态js的网页
Selenium基于webkit实现爬虫功能 http://www.cnblogs.com/luxiaojun/p/6144748.html https://www.cnblogs.com/chenq ...
- 用selenium爬动态网页
0-安装 我用python2.7,用pip安装selenium即可,phantomjs到官网下载安装,也不难. 1-主要参考的几篇文章 Python爬虫利器四之PhantomJS的用法 Python爬 ...
随机推荐
- D01 Elon Mulsk The future we're building — and boring
摘要:精选TED. 每个音频不超过2分钟,学英语和吸收伟大思想两不误 音频: https://n1audio.hjfile.cn/st/fb5ace6f-7b63-439d-954c-c4539c1f ...
- jquery技巧小结
由于主要还是负责后端,所以前端很多东西都不熟悉,jQuery作为web开发必备技能,有很多知识点,老是记不清楚,所以在这边整理一下. 1.加载页面后执行 $(function(){ //程序段 }) ...
- SSM学习(一)搭建基础框架
不知不自觉,工作也两年多了,由于公司一直用的是ssh框架,所以所学也一直是ssh.直到有一天,服务器被攻击,tomcat目录下总有莫名其妙的一些文件,这些文件通过远程ftp下载了一些病毒和木马,服务器 ...
- Linux常用目录结构
此文引用自51CTO博客,博主snail_hf,原文地址<Linux系统目录详解(全而易懂)> 目录结构 / 根目录,处于Linux系统树形结构的最顶端,它是Linux文件系统的入口,所有 ...
- TCP/IP、HTTP、HTTPS、HTTP2.0
TCP/IP.HTTP.HTTPS.HTTP2.0 HTTP,全称超文本传输协议(HTTP,HyperText Transfer Protocol),是一个客户端和服务器端请求和应答的标准(TCP), ...
- idea 安装热部署插件
jrebel(http://zeroturnaround.com/)的作用就是当你的代码改变时,你不需要重启服务,节省了时间.代码的改变有很多种,比如增加class.在class中增加方法等等.下面介 ...
- 【MySQL】查看字符集对应的校对规则show collation like 'gbk%';
- 【正则表达式】匹配时间格式:hh:mm或h:m
^(0?[0-9]|1[0-9]|2[0-3]):(0?[0-9]|[1-5][0-9])$
- MySQL时间操作的系统函数用法
我要查询获得当天凌晨30分的datetime值的方式:select ADDDATE(CURDATE(), INTERVAL TIME_TO_SEC(TIMEDIFF("00:30:00&qu ...
- 比较日期大小以及获取select选中的option的value
原生JavaScript如何获取select选中的value // 1. 拿到select对象 const selectObject = document.getElementById('test') ...