1. 程式人生 > >正則爬取二手房數據

正則爬取二手房數據

ace req spider spi con 網址 for repl 插入數據

以下代碼是二手房的數據,代碼僅供參考,很簡單,超級簡單

#encoding:utf8
import requests
import re
調用網址
def spider(url):
html = requests.get(url).content.decode(‘utf8‘)
數據的正則,如果你感覺你用正則匹配不出來,那麽你就分開匹配,然後在把所要的正則拼合在一起。我就是這麽搞得。
title = re.compile(‘<h2><a href=".*?" target="_blank">(.*?)</a></h2>.*?<li>.*?<a target="_blank" href=".*?">(.*?)</a>.*?<a target="_blank" href=".*?">(.*?)</a>.*?</li>.*?<li class="font-balck"><span>(.*?)</span><span>(.*?)</span><span>(.*?)</span><span>(.*?)</span></li>.*?<div class="list-info-r">.*?<h3>(.*?)</h3>.*?<p>(.*?)</p>.*?<!-- <span class="btn-contrast">.*?<input name="" type="checkbox" value="" />.*?</span> -->.*?</div>‘,re.S)
title_zheng = title.findall(html)
循環所要的數據
for a1,a2,a3,a4,a5,a6,a7,aa8,a9 in title_zheng:
用repalce替換數據中的垃圾字母為空
a8=aa8.replace(‘<em>‘,‘‘).replace(‘</em>‘,‘‘)
然後插入數據庫
sql = "insert into wojia(a1,a2,a3,a4,a5,a6,a7,a8,a9)VALUES(‘"+a1+"‘,‘"+a2+"‘,‘"+a3+"‘,‘"+a4+"‘,‘"+a5+"‘,‘"+a6+"‘,‘"+a7+"‘,‘"+a8+"‘,‘"+a9+"‘)"
print(sql)
下面是循環的網址,1-7是循環的7頁
for p in range(1,7):
url = "http://bj.5i5j.com/exchange/n"+str(p)+""
spider(url)


就這麽簡單,分分鐘完事

正則爬取二手房數據