python简单爬虫 多线程爬取京东淘宝信息教程
1,需要准备的工作,电脑已经安装好python,如果没装,可以执行去https://www.python.org/官网下载,初学者可以安装轻量级的wingide python开发工具,python安装成功后配置好环境变量,在dos环境使用pip install 模块 将需要用到的模块添加到python中。
需要添加的模块有 lxml,Pool,requests,json,pymongo或者pymysql
1,打开wingide 新建一个python文件 在里面导入我们需要用到的模块
2,寻找我们需要爬取的网页 这里 我以京东的搜索为例 url为:https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8&pvid=4e336fe84d3247f0b0795a790b09b422 主要是获取京东手机的名称,价格以及一些其他详细信息
写一个方法获取我们初次爬取的网页 get_sku_id(url)
3,由于京东搜索查询的手机信息无法完全满足我们所需要的信息 所以需要进一步去详情页面爬取内容
写一个爬取手机具体内容的方法 get_phone_content(sku) sku为京东为手机设置的独特id
4,通过浏览器工具查询,我们可以知道获取价格是单独通过一个请求返回让界面显示的,所以如果我们想在手机详情页面获取价格就必须再次请求这个链接才能获取价格
在这里我建议大家使用火狐浏览器查找 谷歌看的眼睛花 得知的url为:https://p.3.cn/prices/mgets?callback=jQuery1346298&type=1&area=1_72_2799_0&pdtk=&pduid=1713961549&pdpin=&pin=null&pdbp=0&skuIds=J_{手机独特的ID}
写一个方法来获取每个手机的价格
get_phone_price(sku)
5,在主页面解析的方法(get_sku_id)中调用我们的两个子页面的方法(get_phone_content,get_phone_price) 传入手机独特的id
6,将集合存入到我们的数据库中 mysql或者mongodb 都可以
写一个主函数调用我们的get_sku_id方法即可
主流程图如下:
github地址:https://github.com/ElvisLiang/reptilefortaobao.git