还是继续这个项目. 在上一篇Linux下利用Shell使PHP并发采集淘宝产品中,采用shell将对PHP的调用推到后台执行,模拟多线程. 此方法有一致命缺点,只能人工预判每个程序执行时间.如果判断时间少于执行时间,则会生成大量进程,如果判断时间多于执行时间,则会浪费时间资源. 所以,在此我们采用C程序来控制并发数. 整体思路和用shell调用相似,只是把shell控制改成了C. 下面是C程序: 1 #include <stdio.h> 2 #include <stdlib.h>…
还是继续这个项目. 在上一篇Linux下利用Shell使PHP并发采集淘宝产品中,采用shell将对PHP的调用推到后台执行,模拟多线程. 此方法有一致命缺点,只能人工预判每个程序执行时间.如果判断时间少于执行时间,则会生成大量进程,如果判断时间多于执行时间,则会浪费时间资源. 所以,在此我们采用C程序来控制并发数. 整体思路和用shell调用相似,只是把shell控制改成了C. 下面是C程序: #include <stdio.h> #include <stdlib.h> #inc…
上次项目中用到<<PHP采集淘宝商品>> 此方法有一个缺点,就是执行效率问题.一个商品采集平均需要0.8秒.那10000个商品采集完需要2个半小时. 首先想到的解决办法是并发. 但是PHP不支持并发(这里是指通过PHP命令执行PHP文件,如果通过apache或nginx等做服务器是可以并发的,是并发访问,不能在程序中实现并发). 通过Shell把对php命令推到后台执行,以达到并发的效果. 整体思路: 1.在Shell中连接数据库,取出需要更新的产品 2.Shell中对数据进行循环…
项目需求: 1.通过PHP程序更新所采集淘宝商品的价格以及是否停售 数据表: CREATE TABLE `goods` ( `id` ) NOT NULL AUTO_INCREMENT , `type` ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' , `keyid` ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' , `shop_id` ) ,…
因为一些业务需求需要采集淘宝店铺商品的销售价格,但是淘宝详情页面的价格显示是通过js动态调用显示的.所以就没法通过普通的获取页面html然后通过正则或者xpath的方式获取到想到的信息了. 所幸我们现在有了casperjs.这个是一个基于Phantomjs的库,而Phantomjs则是一个服务器端的js api的webkit浏览器.是不是很神奇?真的是.net的以外的世界很神奇,我们要多走去看看. 好了,现在废话不多说,开始切入正题. 首先就是就是几个相关库的安装.安装过程很简单,相关内容大家百…
原文:Linux C语言操作MySQL 1.MySQL数据库简介 MySQL是一个开源码的小型关系数据库管理系统,体积小,速度快,总体成本低,开源.MySQL有以下特性: (1) 使用C和C++编写,并使用了多种编译器进行测试,保证源码的可移植性. (2) 支持多线程,利用CPU资源,支持多用户. (3) 可以处理拥有上千万条记录的大型数据库. (4)既可以作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为 一个库而嵌入到其他软件中去. 2. MySQL数据库的安装 安装MySQL数…
1,引言 最近一直在看Scrapy 爬虫框架,并尝试使用Scrapy框架写一个可以实现网页信息采集的简单的小程序.尝试过程中遇到了很多小问题,希望大家多多指教. 本文主要介绍如何使用Scrapy结合PhantomJS采集天猫商品内容,文中自定义了一个DOWNLOADER_MIDDLEWARES,用来采集需要加载js的动态网页内容.看了很多介绍DOWNLOADER_MIDDLEWARES资料,总结来说就是使用简单,但会阻塞框架,所以性能方面不佳.一些资料中提到了自定义DOWNLOADER_HAND…
声明: 由于某些原因,我这里会用手机代替,其实是一样的! 环境: windows python3.6.5 模块: time selenium re 环境与模块介绍完毕后,就可以来实行我们的操作了. 第一步: 进入淘宝首页: driver = webdriver.Chrome() driver.get('http://www.taobao.com') 第二步: 在输入框中,输入想要查找的商品(keyword),往后用手机代替. 点击搜索按钮 driver.find_element_by_id('q…
mysql 帮助说明 1[oldboy_c64 ~]# mysql --help|grep dummy 2 -U, --i-am-a-dummy Synonym for option --safe-updates, -U. 3i-am-a-dummy       FALSE 在 mysql 命令加上选项-U 后,当发出没有 WHERE 或 LIMIT 关键字的 UPDATE 或 DELETE 时, mysql 程序就会拒绝执行 [oldboy_c64 ~]# mysql -uroot -pold…
连接数据库==> mysql -uroot -p 输入root密码 进入mysql操作后 下面的命令不要忘了最后结尾的; 1.选择数据库命令: use <数据库名> 2.查看表的引擎类型等状态信息SHOW TABLE STATUS [FROMdb_name] [LIKE 'pattern'] 3.当前数据库包含的表信息show tables; 4.查看当前使用的数据库select database(); 5.删除数据库命令:drop database <数据库名>; 6.显示…