python抓取京东商品颜色&beautifulsoup的一些常用函数
2016-01-18 00:19
811 查看
python爬虫抓取京东上商品时,大部分商品有颜色的选项,所以想把不同颜色的商品都爬取的时候,需要获得这个商品的url
首先要找到商品颜色的那个地方,不知为何用浏览器看是显示javascript,然是用requests下载下来的时候就是用url的,尝试抓了一天点击的js去请求都没抓到,坑
于是写了一个返回当前商品所有颜色的url数组的函数,如果只有一种颜色,那么就返回一个只有当前url的数组
import requests from bs4 import BeautifulSoup def getItemUrl(url): r = requests.get(url) soup = BeautifulSoup(r.content,'html.parser') try: tmpHref = [item.find('a') for item in soup.find(id='choose-color').find_all(class_='item')] href = [] for h in tmpHref: if h != None: href.append('http:'+h.get('href')) except: href = [url] return href if __name__ == '__main__': for item in getPage('http://item.jd.com/1076647290.html'): print item #http://item.jd.com/1739587109.html这个是只有一种颜色的,上面那个是有多种颜色的
另外beautifulsoup的一些常用函数
find() :一般用于找某个id或者class,用法find(id=’xxx’)或者find(class_=’xxx’)get() :一般用于获取当前标签下的某项属性
例子:如a href = ‘xxx’这样的先用find(‘a’)找到,再用get(‘href’)获得它的url
相关文章推荐
- python的threading和multiprocessing模块初探
- 由 python 自定义 class 引发的两个问题
- 在Python3.4下,用cx_freeze打包PyQt4程序
- python 堡垒机
- python MySQLdb
- python 堡垒机续-----终端方式
- python小白学习之路啊
- python做自动化测试,对java代码做单元测试(2)
- Python扫描指定目录下(包括子目录)的文件
- 用python做自动化测试--对Java代码做单元测试 (1)
- 编写python脚本-->批量下载淘宝 2012年ADC技术嘉年华PDF文件
- 2016/01/18 Python学习1
- python爬虫模拟登录之验证码
- Python学习第四天
- 在spark上做简单的文本分类(python)
- [Python标准库]random——伪随机数生成器
- python修饰符——带参数
- Python一周学习的小结
- Python及requests乱码问题的总结
- python无参数的装饰符