目標:爬取xx二手房樓市信息自己分析形勢 目的:記錄重溫爬蟲歷程 1、引用包requests,random,time,pandas,bs4 2、查詢:bs4使用方法,re。comple,以及他山之石。 3、思路:簡單應用,直接寫死不用def,class, -url 列表,初始列表後,append添加 ...
目標:爬取xx二手房樓市信息自己分析形勢
目的:記錄重溫爬蟲歷程
1、引用包requests,random,time,pandas,bs4
2、查詢:bs4使用方法,re。comple,以及他山之石。
3、思路:簡單應用,直接寫死不用def,class,
-url 列表,初始列表後,append添加翻頁url
-headers,不加也可,網頁寫死的。
-網頁內數據寫死的,爬網頁即可,適合新手。
-順序:url-->-->空字典-->headers-->for-->bs4-->append添加字典列表-->pd.to-csv time.sleep(random.randint())
源代碼:
import requests,random,time
import re
import pandas as pd
from bs4 import BeautifulSoup
shuju = {
"房子":[],
'房型':[],
'地址':[],
'面積':[],
'售價':[],
'單價':[],
'中介':[],
'更新時間':[]
}
url = ["https://xxxx"]
urllist= ['https://xxxx'+str(x) for x in range(2,17)]
headers = {
'User-Agent': 'xxxx.56'
}
for i in urllist:
url.append(i)
gg=0
for xx in url:
res = requests.get(url=xx,headers=headers)
respone=BeautifulSoup(res.text,'html.parser')
all_li = respone.find('ul',class_='item-list').find_all('li')
for i in all_li:
name1 = i.find('p',class_='title').find('a',target="_blank").text
faxing = i.find('p',class_='detail').find('span').text
address = i.find('span',class_='maps').text
mianji = i.find('span',class_='area-detail_big').text
money = i.find('em',class_='prices').text
danjia = i.find('div',class_='content fl').find('div',class_='about-price').find('p',class_='tag').text
zj = i.find('p',class_='agents').find('a').text
uptime = i.find('p',class_='agents').find('span').text
shuju["房子"].append(name1)
shuju["房型"].append(faxing)
shuju["地址"].append(address)
shuju["面積"].append(mianji)
shuju["售價"].append(money)
shuju["單價"].append(danjia)
shuju["中介"].append(zj)
shuju["更新時間"].append(uptime)
gg+=1
print(danjia)
time.sleep(random.randint(0,1))
print('第{}條ok!'.format(gg))
df = pd.DataFrame(shuju)
df.to_csv('xxxx樓市二手房數據.csv',encoding='utf-8-sig')
print('爬完了')
以上註意縮進,怕忘備查。看得懂代碼的都應知道了,我就不註釋了。
本文來自博客園,作者:稍息22,轉載請註明原文鏈接:https://www.cnblogs.com/wddzb/p/16931093.html