Python爬虫: 爬取链家淮安经纪人信息

版权声明:如转载请指明出处! https://blog.csdn.net/qq_42952437/article/details/87268704

 Python 爬取链家淮安经纪人信息

#爬取链家房源经纪人信息
#有xpath解析爬取:人名,负责区域
#定义csv保存函数

1、导入模块

import requests
from lxml import etree
import csv
import time

2、创建页面抓取主函数def lianjia_spider(list_url):

def lianjia_spider(list_url):
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)\
                AppleWebKit/537.36 (KHTML, like Gecko)\
               Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6788.400 QQBrowser/10.3.2727.400'}
    try:
        response = requests.get(list_url, headers=headers)
    except:
        print('出错了')
    time.sleep(5)
    content = response.text

3、解析函数 并调用保存函数save_csv_writer(item):

#解析页面
    html = etree.HTML(content)
    #爬取每一位经纪人的信息整段代码
    agent_list = html.xpath('//li[@class="pictext flexbox box_center_v lazyload_ulog"]')
    for agent in agent_list:
        # name//*[@id="page-0---6a004ab5-9bcd-4bac-4800-99870c90b5e3"]/section[1]/div[2]/div/div[3]/ul/li[1]/div/div[2]/div[1]/span[1]/a[1]
        # region//*[@id="page-0---6a004ab5-9bcd-4bac-4800-99870c90b5e3"]/section[1]/div[2]/div/div[3]/ul/li[1]/div/div[2]/div[2]/span[3]
        agent_name = agent.xpath('div/div[2]/div[1]/span[1]/a[1]/text()')[0]
        agent_region = agent.xpath('div/div[2]/div[2]/span[3]/text()')[0]
        info = [agent_name, agent_region]
        print('正在爬取', agent_name, agent_region)
        save_csv_writer(info)       #调用保存函数并保存数据为csv格式

4、定义保存函数save_csv_writer(item):

#定义csv保存函数
def save_csv_writer(item):
    with open('lianjia_jingjiren.csv', 'a+', encoding='utf-8', newline='')as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(item)

5、创建主函数并调用定义主函数 

# 创建主函数
def main():
    for i in range(100):
        # 构造url格式
        url = ('https://m.lianjia.com/ha/jingjiren/?page_size=15&_t=1&offset='+str(i*15))
        lianjia_spider(url)
        print('正在爬取', i)

6、调用并运行 程序

#调用函数
if __name__ =="__main__":
    main()

 程序运行结果如下:

猜你喜欢

转载自blog.csdn.net/qq_42952437/article/details/87268704