python多线程爬虫:亚马逊价格
import re
import requests import threading
import time
from time import ctime,sleep from queue import Queue keywords_a=[
'ELPLP80',
'ELPLP23',
'ELPLP29',
'NP14LP',
'POA-LMP126',
'ELPLP66',
] keywords_b=[
'VIP230W0.8E20.8',
'VIP240W0.8E20.9N',
'NP30LP',
'LMP-C162',
'VT70LP',
] keywords_c= [
'TLPLV4',
'POA-LMP131',
'BL-FP240A',
'VLT-XD3200LP',
'ET-LAD35',
'BL-FU240A',
'20-01032-20', ] keywords_d =[
'ELPLP76',
'VLT-HC3800LP',
'BL-FP240C',
'5811116765-S',
'ELPLP69',
'BL-FP200H', ] keywords_e = [
'5100MP',
'RLC-057',
'ELPLP71',
'ELPLP64',
'BL-FS300B',
] Re_rule = '<span class="a-size-base a-color-price s-price a-text-bold">(.*?)</span>' #正则表达式匹配价格 headers_am = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.86 Safari/537.36'}
#浏览器页面headers
def Scraper(kw):
for i in kw:
url_keyword = 'https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords={}'.format(i)
#亚马逊页面链接
url_Epharos = 'http://www.amazon.com/s/ref=nb_sb_noss?url=srs%3D9143518011%26search-alias%3Dspecialty-aps&field-keywords={}'.format(i)
#店铺链接
response = requests.get(url_keyword,headers=headers_am)
#requests.get(url,params=params) 可以提交表单用request.post(url,params=params)
response_a = requests.get(url_Epharos,headers=headers_am)
price = re.findall(Re_rule,response.text)
price_e = re.findall(Re_rule,response_a.text) print('--------------------------{0}爬去完毕at{1}j结果:\n\n市场价:{2}\n\nEpharos:{3}'.format(i,time.ctime(),price[0],price_e[0]))
time.sleep(1) threads = [] t1 = threading.Thread(target=Scraper,args=(keywords_a,)) #args为元祖
threads.append(t1)
t2 = threading.Thread(target=Scraper,args=(keywords_b,))
threads.append(t2)
t3 = threading.Thread(target=Scraper,args=(keywords_c,))
threads.append(t3)
t4 = threading.Thread(target=Scraper,args=(keywords_d,))
threads.append(t4)
t5 = threading.Thread(target=Scraper,args=(keywords_e,))
threads.append(t5) if __name__ == '__main__':
for t in threads:
t.setDaemon(True) #守护线程
t.start()
for t in threads:
t.join() #等待子线程 print ("all over %s" %ctime())
python多线程爬虫:亚马逊价格的更多相关文章
- 爬虫亚马逊Bestselling类别产品数据TOP100
1 # -*- coding: utf-8 -*- 2 # @Time : 2020/9/11 16:23 3 # @Author : Chunfang 4 # @Email : 3470959534 ...
- python 脚本开发实战-当当亚马逊图书采集器转淘宝数据包
开发环境python2.7.9 os:win-xp exe打包工具pyinstaller 界面tkinter ============================================= ...
- 基于Java实现简单亚马逊爬虫
前言:最近博主买了台Kindle,感觉亚马逊上的图书资源质量挺好,还时不时地会有价格低但质量高的书出售,但限于亚马逊并没有很好的优惠提醒功能,自己天天盯着又很累.于是,我自己写了一个基于Java的亚马 ...
- 个性化对待亚马逊不同站点 使用 Python 进行线程编程
# -*- coding: UTF-8 -*- import threading import time exitFlag = 0 class myThread (threading.Thread): ...
- 使用pushplus+python实现亚马逊到货消息推送微信
xbox series和ps5发售以来,国内黄牛价格一直居高不下.虽然海外amazon上ps5补货很少而且基本撑不过一分钟,但是xbox series系列明显要好抢很多. 日亚.德亚的xbox ser ...
- 亚马逊商品页面的简单爬取 --Pyhon网络爬虫与信息获取
1.亚马逊商品页面链接地址(本次要爬取的页面url) https://www.amazon.cn/dp/B07BSLQ65P/ 2.代码部分 import requestsurl = "ht ...
- 如何使用代理IP进行数据抓取,PHP爬虫抓取亚马逊商品数据
什么是代理?什么情况下会用到代理IP? 代理服务器(Proxy Server),其功能就是代用户去取得网络信息,然后返回给用户.形象的说:它是网络信息的中转站.通过代理IP访问目标站,可以隐藏用户的真 ...
- python requests库网页爬取小实例:亚马逊商品页面的爬取
由于直接通过requests.get()方法去爬取网页,它的头部信息的user-agent显示的是python-requests/2.21.0,所以亚马逊网站可能会拒绝访问.所以我们要更改访问的头部信 ...
- JAVA爬取亚马逊的商品信息
在程序里面输入你想爬取的商品名字,就可以返回这件商品在亚马逊搜索中都所有相关商品的信息,包括名字和价格. 解决了在爬取亚马逊时候,亚马逊可以识别出你的爬虫,并返回503,造成只能爬取几个页面的问题. ...
随机推荐
- 如何解决nagios安装及运行在的常见错误?(转)
一.安装nrpe的时候,提示:checking for SSL headers… configure: error: Cannot find ssl headers 解决方法如下: yum -y in ...
- qml自学笔记------自己写相似于劲舞团的按键小游戏(中)
接上篇<qml自学笔记------自己写类似于劲舞团的按键小游戏(上)> 第三部分DisplayPart.qml 代码的其它部分都是渣,就这里花了点时间,整个小游戏就靠这个文件. 首先,屏 ...
- PuTTY连接Linuxserver常常断线解决方式
PuTTY在远程连接server之后.常常会断线提示"Software caused connection abort",并且常常在非常短的时间内就失去连接. 解决方式例如以下: ...
- 利用velocity.js将svg动起来
关于velocity.js Velocity.js是一款jquery动画引擎插件,它拥有与jquery中的$.animate()相同的API,还打包了颜色动画,转换,循环,easing效果,类动画.滚 ...
- Django——如何在Django模板中注入全局变量?——part2
模版中的变量由context中的值来替换,如果在多个页面模版中含有相同的变量,比如:每个页面都需要{{user}},笨办法就是在每个页面的请求视图中都把user放到context中. from d ...
- Android五大布局标签和属性总结
1.LinearLayout orention 水平和垂直 weight 切割闲置空间 水平布局 切割宽度 垂直布局 切割的高度 切割的时候 指定的高度或者宽度不能用fill_parent/ ...
- iOS开发-在Swift里使用AFNetworking方法
在OC里使用惯了AFNetworking,比较喜欢这一个第三方库,在别的途径里得知可以在Swift里使用AFNetworking.但是那个时候我不知道具体的操作是怎样的,于是我只能去百度.GOOGLE ...
- 用户输入URL后发生了什么,以及优化问题
用户角度:1.打开浏览器2.输入URL3.按下回车4.浏览器呈现画面 当用户输入页面地址后,浏览器获得用户希望访问的地址,便向该站点服务器发起一系列的请求,这些请求不光包括对页面的请求,还包括对页面中 ...
- sql语句优化技巧
1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- c++ what happens when a constructor throws an exception and leaves the object in an inconsistent state?
为什么会想到这个问题?因为我总是不自觉地将c++和java进行对比.java对这种情况的处理方式是constructor返回一个null,然后已经构造的objects交给Garbage Collect ...