赶集网二手数据.py

#获取所有二手频道链接
import requests
from bs4 import BeautifulSoup

star_url = ‘http://bj.ganji.com/wu/‘
url_host = ‘http://bj.ganji.com‘
page_url = []
def get_index_url(url):
    wb_data = requests.get(url)
    if wb_data.status_code == 200:
        soup = BeautifulSoup(wb_data.text,‘lxml‘)
        links =soup.select(‘dl.fenlei > dt > a‘)
        for link in links:
            all_list = url_host + link.get(‘href‘)
            page_url.append(all_list)
        return page_url
    else:
        pass

get_index_url(star_url)

#获取所有频道里面的子链接
from bs4 import BeautifulSoup
from multiprocessing import Pool
from channel_exciting import page_url
import requests
import pymongo

client = pymongo.MongoClient(‘localhost‘,27017)
ganji = client[‘ganji‘]
url_list = ganji[‘url_list‘]
item_info = ganji[‘item_info‘]

headers = {
    ‘user_agent‘:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36‘,
    ‘Connection‘:‘keep-alive‘
}

def get_links_from(channel,page):
    #http://bj.ganji.com/jiaju/o3/
    url_host = ‘{}o{}‘.format(channel,str(page))
    wb_data = requests.get(url_host,headers=headers)
    soup = BeautifulSoup(wb_data.text,‘lxml‘)
    for link in soup.select(‘td a,t‘):
        item_link = link.get(‘href‘).split(‘?‘)[0]
        if wb_data.status_code != 200:
            pass
        else:
            url_list.insert_one({‘url‘:item_link})
    print(url_list)

def get_all_links(channel):
    for i in range(1,100):
        get_links_from(channel,i)

if __name__ == ‘__main__‘:
    list = []
    for item in page_url:
        list.append(item)
    pool = Pool()
    pool.map(get_all_links,list)

#获取所有子链接里面的数据
from multiprocessing import Pool
from page_parsing import url_list
from bs4 import BeautifulSoup
import requests
import pymongo
import time

client = pymongo.MongoClient(‘localhost‘,27017)
ganji = client[‘ganji‘]
item_info = ganji[‘item_info‘]

headers = {
    ‘user_agent‘:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36‘,
    ‘Connection‘:‘keep-alive‘
}

def get_items_info(url):
    wb_data = requests.get(url,headers=headers)
    soup = BeautifulSoup(wb_data.text, ‘lxml‘)
    try:
        data={
            ‘title‘:soup.title.text,
            ‘price‘:soup.select(‘span.price_now > i‘)[0].text,
            ‘area‘:soup.select(‘div.palce_li > span > i‘)[0].text,
            ‘url‘:url
        }
        item_info.insert_one(data)
    except IndexError:
        pass
    else:
        print(data)
        time.sleep(2)

if __name__ == ‘__main__‘:
    list = []
    for item in url_list.find():
        list.append(item[‘url‘])
    pool = Pool()
    pool.map(get_items_info,list)
时间: 2024-10-20 15:20:56

赶集网二手数据.py的相关文章

爬取赶集网二手物品下所有物品的信息

四周爬虫课第二周的练习,爬取赶集网二手物品下所有物品的信息.大致思路:1.爬取频道页url:2.爬取商品详情页url,写入mongodb,url_list表:3.从url_list表读取url,爬取商品信息,写入mongodb,p_info表 分成3个py文件:1.channel_url.py,获取频道页url:2.page_parse.py,主要是2个爬虫函数,分别完成2个数据表的写入:3.main.py,主程序文件,也就是本文件,开启多进程,完成整个工作 最后顺利完成任务,感觉现在赶集真不行

Python爬虫库Scrapy入门1--爬取当当网商品数据

1.关于scrapy库的介绍,可以查看其官方文档:http://scrapy-chs.readthedocs.io/zh_CN/latest/ 2.安装:pip install scrapy  注意这个库的运行需要pywin32的支持,因此还需要安装pywin32.可以在这个网站上选择合适的版本下载安装:https://sourceforge.net/projects/pywin32/files/pywin32/ 3.挖掘当当网商品数据: 首先需要创建一个名为dangdang的爬虫项目,在pow

赶集网mysql开发36条军规

写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算 cpu计算务必移至业务层: (2)控制单表数据量 int型不超过1000w,含char则不超过500w: 合理分表: 限制单库表数量在300以内: (3)控制列数量 字段少而精,字段数建议在20以内: (4)平衡范式与冗余 效率优先: 往往牺牲范式: (5)拒绝3B 拒绝大sql语句:big sql 拒绝大事物:big transaction 拒绝大批量:big

赶集网模拟登陆程序PHP

<?php $url = "https://passport.ganji.com/login.php"; //这里改成你自己的账号和密码 $data ="login_username=itbuluoge&login_password=123456"; $result = vpost($url,$data,'cookie'); echo request_url_data("http://www.ganji.com/vip/my_post_lis

【MySql】赶集网mysql开发36条军规

[MySql]赶集网mysql开发36条军规 2012-05-14 14:02:33 分类: Linux 写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算 cpu计算务必移至业务层: (2)控制单表数据量 int型不超过1000w,含char则不超过500w: 合理分表: 限制单库表数量在300以内: (3)控制列数量 字段少而精,字段数建议在20以内: (4)平衡范式与冗余 效率优先: 往往牺牲范式: (5)

为什么百度没有接盘赶集网?

为什么百度没有接盘赶集网? http://luochao.baijia.baidu.com/article/54258 百度应对它们采取了三大策略:和亲(投资).经贸(合作)和自强(自建) 目前来看,百度移动服务布局的思路和成效大概可以分为如下几个方面: 1.牢牢掌握核心服务需求:移动时代人们的需求从信息到服务转变,目前行业觉醒最早的几个高频服务场景主要是出行打车.购票.旅游等生活服务,在这些服务领域百度早有布局.在购票.旅游等服务领域,百度旗下糯米.去哪儿等业务承载了这一类的用户需求:其次在出

赶集网app|赶集网app安卓版下载

赶集网的app加载速度有点慢,打开以后我立刻要点二手物品,结果在点击前的一瞬间广告出来了,图标就被挤到下面去了,而我则又为赶集的头条广告增加了点击率,这种被迫中奖的感觉真心不爽!这种banner加载在一开始就预留好位置会不会好一些?不知道是不是赶集网用心险恶故意让你点进去,还是技术上有问题,但这种加载过程中出现布局变化的方式真心不可取. 赶集网下载链接软件介绍赶集网app是一款由赶集网官方推出的客户端软件.该软件提供了为用户提供房屋租售.二手物品买卖.招聘求职.车辆买卖.宠物票务.教育培训.同城

北风网大数据就业课程视频教程

搜集了一点北风网大数据架构师的课程还是挺不错的,现在给大家发点视频,有需要的可以联系我QQ:375537364    链接:http://pan.baidu.com/s/1bPl5aY 密码:ymmi

分类信息之争又将持续 赶集网化险但还未为夷

赶集网获得老虎基金和凯雷投资2亿美元投资的消息一出,再次引爆整个互联网,分类信息市场再起波澜.新一轮融资之后,赶集网成功化险,之前捉襟见肘的资金问题得到妥善解决. 舆论唱空不管用?老虎凯雷豪赌赶集网 在赶集网宣布获得老虎基金和凯雷投资新一轮2亿美元融资之后,业界舆论砸开了锅,虽然仍有不少围观者对赶集网持悲观的态度,但更多的人是好奇为何被老虎凯雷会豪赌被唱空了半年之久的赶集网. 其实也不难理解,在腾讯投资58同城之后,分类信息市场彻底被激活,尤其是资本市场,在腾讯的带动下更加不会错过这次机会.腾讯