python关于链家网房子的一次爬虫

关于链家的一次爬虫

关于链家网站 链家网地址

话不多说直接代码

// Dath
//2019/8/20
import lxml
import requests
import pandas as pd
from bs4 import BeautifulSoup
import bs4

def Get_Html_Text(url , header, cookies):
    try:
        r = requests.get(url , headers= header,timeout = 30 ,cookies = cookies)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return '访问页面错误'

def Get_House_List(html ,infos):
    soup = BeautifulSoup(html , 'lxml')
    infoes = soup.find_all('div' , class_ = "item_list")
    for k in infoes:
        Title = k.find('div', class_="item_main").text   #房子标题
        Housees = k.find('div', class_= 'item_other text_cut').text.split('/')#房子规格大小 小区位置
        Totle = k.find('span',class_='price_total').text      #总价
        Price = k.find('span',class_='unit_price').text      #每平发米价格

        Guige = Housees[0]   #规格
        Size = Housees[1]    #大小
        Orientation = Housees[2]   #朝向
        Position = Housees[3]    #位置
        infos.append([Title , Guige , Size , Orientation , Position , Totle ,Price])
        #print(k)
    #print(infos)

def Write_To_File(infos):
    name = ["标题" , "规格" , "大小" , "朝向" , "位置" , "总价" , "价格"]

    test = pd.DataFrame(columns = name , data = infos)

    test.to_csv(r'C:\Users\Administrator\Desktop\lianjia.csv',index = 0)


def main():
    info = []
    for i in range (1,101):
        url = 'https://hf.lianjia.com/ershoufang/pg' + str(i) + '/'
        print('正在爬取第%s个网页' % i, "链接是%s" % url)
        header = {'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5'
                            ' Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Mobile Safari/537.36'}
        cookies = {'Cookie': '***************************************'}
        html = Get_Html_Text(url , header , cookies)
        Get_House_List(html , info)
    Write_To_File(info)
    print("爬取结束")

main()

其中cookies的值每个人不一样需要自己登陆账号找到
在这里插入图片描述
爬虫利用的BeautifulSoup库
把整个的页面的text爬取到pycharm分析这个查看我们需要的内容在什么地方
然后用find方法
在这里插入图片描述
可以看到我们需要的内容都在

这个里面,然后就简单了
pandas保存csv
会的私信我看到会回
太懒了不想写太多字了

发布了6 篇原创文章 · 获赞 3 · 访问量 683

猜你喜欢

转载自blog.csdn.net/weixin_41900803/article/details/99891955