怎么做网站例如京东,东营远见网站建设公司,苏州seo建站,化妆网站源码scrapy抓取淘宝女郎 准备工作 首先在淘宝女郎的首页这里查看#xff0c;当然想要爬取更多的话#xff0c;当然这里要查看翻页的url,不过这操蛋的地方就是这里的翻页是使用javascript加载的#xff0c;这个就有点尴尬了#xff0c;找了好久没有找到#xff0c;这里如果有朋… scrapy抓取淘宝女郎 准备工作 首先在淘宝女郎的首页这里查看当然想要爬取更多的话当然这里要查看翻页的url,不过这操蛋的地方就是这里的翻页是使用javascript加载的这个就有点尴尬了找了好久没有找到这里如果有朋友知道怎样翻页的话麻烦告诉我一声谢谢了...不过就这样坐以待毙了吗所以就在chrome上搜结果看到有人直接使用的这个网页,我当时一看感觉神奇的样子这就是简化版的首页啊只需要改变page的数字就可以实现遍历了不过还是有点小失落为什么人家就能找到呢这个我还是希望知道的朋友能够分享一下我也会查看相关的资料把这个空缺不上的好了现在开我们的工作了我们的目的是抓取册以及相关的信息所以我们需要随便打开一个淘女郎的相册页面然后随便进入一个相册即可很显然这里的相册是异步加载的因此我们需要抓包这里我抓到了含有相册的url以及相关信息的json数据如下图 然后我们查看它的url为https://mm.taobao.com/album/j...通过我尝试之后这条url可以简化为:https://mm.taobao.com/album/j...{0}album_id{1}top_pic_id0page{2}_ksTS1493654931946_405其中user_id是每一个女郎对的id,ablum_id时每一个相册的id,这里一个女郎有多个相册因此这个id是不同的但是page就是要翻页的作用了,可以看到我去掉了callbackjson155这一项因为如果加上这一项返回的数据就不是json类型的数据其中page是在抓包的时候点击翻页才会在下面出现的可以看到同一个相册返回的除了page不同之外其他的都是相同的因此这里通过page来实现翻页的数据上面分析了每一个相册的url数据的由来可以看到我们下面需要找到user_id,ablum_id这两个数据.user_id的获取我们打开首页,然后打开chrome的调试工具可以看到每一个 女郎的url中都包含user_id这一项因此我们只需要通过这个实现翻页然后获取每一个女郎的url,之后用正则将user_id匹配出来即可,代码如下 psresponse.xpath(//p[classtop])for p in ps:itemJrtItem()hrefp.xpath(a/href).extract() #这个得到的是一个数组urlif href:item[user_id]self.pattern_user_id.findall(href[0])[0] #用则正匹配出user_id,其中的正则为 pattern_user_idre.compile(ruser_id(\d))ablum_id的获取想要获取ablum_id当然要在相册的页面查找于是我们在相册页面抓包获得了如下图的页面 通过上图我们清晰的知道每一个相册的里面包含多少相册但最令人开心的是在这个页面中不是动态加载因此我们可以查看它的源码当我们查看源码的时候我们可以看到和user_id一样这里的ablum_id包含在了href中因此我们只需要找到每一张相册的url然后用正则匹配处来即可其中这个页面的url简化为:https://mm.taobao.com/self/al...{0}page{1}所以我们可以通过上面得到的user_id构成请求即可,代码如下 ## 解析得到ablum_id根据ablum_id解析请求出每一个相册的json数据def parse_ablum_id(self,response):if response.status200:print response.urlitem response.meta[item]soup BeautifulSoup(response.text, lxml)divs soup.find_all(div, class_mm-photo-cell-middle)for div in divs:href div.find(h4).find(a).get(href)items self.pattern_ablum_id.findall(href) #这里就得到了ablum_id 上面已经获得了user_id和ablum_id那么现在就可以请求每一个相册的json数据了这个就不用多说了详情请看源代码 MongoDB存储 安装方式 Windows下安装请看我的MogoDB干货篇ubantu直接用sudo apt-get install安装即可安装对应python的包pip install pymongo安装完成以后就可以连接了下面贴出我的连接代码 from pymongo import MongoClientclass MongoDBPipelines(object):collection_name taobaodef open_spider(self,spider):self.client MongoClient(localhost, 27017) #连接这里的27017是默认的额端口号self.db self.client[python] #python是自己的数据库当然这里不用提前建好也可以def close_spider(self, spider): self.client.close()def process_item(self,item,spider):self.db[self.collection_name].update({picId:item[picId]}, {$set: dict(item)}, True)return item 现在这就算好了当然这里还有很多东西需要优化的像代理池。。。最后本人想在暑期找一个地方实习但是一直没有好的地方希望有实习的地方推荐的可以联系我在这里先谢谢了 推荐 最后推荐博主的一些源码 scrapy爬取妹子网站实现图片的存储这个只是一个演示怎样存储图片的实例因此不想过多的投入时间去爬因此写的不是很详细scrapy爬取知乎用户的详细信息 更多文章请一步本人博客