Python爬取鏈家二手房資訊

2022-01-14 16:02:18 字數 2666 閱讀 1688

2、資料庫表結構

使用物件導向的方式,搭建專案框架

'''import

requests

from bs4 import

beautifulsoup

import

pymysql

class

lianjiaspider():

mydb = pymysql.connect("

localhost

", "

root

", "

123456

", "

pythontest

", charset='

utf8')

mycursor =mydb.cursor()

#初始化

def__init__

(self):

self.url='

'#初始化請求的url

#將其偽裝成瀏覽器,對付反爬的

self.headers=

#傳送請求的方法

defsend_request(self,url):

resp=requests.get(url,headers=self.headers)

if resp.status_code==200:

return

resp

#解析html獲取有用的資料

defparse_content(self,resp):

html=resp.text

bs=beautifulsoup(html,'

html.parser

')#第乙個引數是要解析的內容,第二個引數是解析器

#查詢自己想要的內容

ul=bs.find('

ul',class_='

listcontent')

#在劜中獲取所有的li

li_list=ul.find_all('li'

) #遍歷

lst=

for item in

li_list:

title=item.find('

div',class_='

title

').text#

標題 house_info=item.find('

div',class_='

houseinfo

').text#

房屋描述

deal_date=item.find('

div',class_='

dealdata

')#成交的日期

total_price=item.find('

div',class_='

totalprice

').text#

總價 position_info=item.find('

div',class_='

positioninfo

').text#

樓層資訊

unit_price=item.find('

div',class_='

unitprice

').text#

單價 span_list = item.find_all('

span

') #

獲取掛牌價和成交週期

agent_name = item.find('

a', class_='

agent_name

').text #

銷售

#資料解析完畢,需要儲存到資料庫

self.write_mysql(lst)

defwrite_mysql(self,lst):

sql_cixian = "

insert into ershoufang values (0,%s,%s,%s,%s,%s,%s,%s,%s,%s)

"self.mycursor.executemany(sql_cixian, lst)

self.mydb.commit()

print('

新增成功')

self.mydb.close()

#寫入資料庫

defwrite_mysal(self):

pass

#啟動爬蟲程式

defstart(self):

for i in range(1,2):

full_url=self.url.format(i)

resp=self.send_request(full_url)#

傳送請求

ifresp:

self.parse_content(resp)

#傳入資料

if__name__=='

__main__':

#建立類的物件

lianjia=lianjiaspider()

lianjia.start()

lianjia.py

4、結果

python爬蟲爬取鏈家二手房資訊

問題一 鏈家 也有反爬蟲策略和robots限制,robots限制忽略 不然沒法爬 另外頻繁爬取會直接導致被ban,需要隔天才會解禁止。防止被ban的方法有多種,1.禁止cookie 2.設定header 3.加大爬取間隔 4.使用 我只用了前三種方法,具體可以在settings.py 和middle...

python爬取鏈家網二手房資訊

朋友請我幫忙做的期末作業,我自己不是愛說話,直接分享 可以直接執行的,期中用的是 python 3.6版本,導包的時候直接在cmd裡面用的pip install 包名,其中有的包安裝失敗,提示pip需要公升級,可以看一下這個鏈結 下面是 在這裡插入 片 usr bin env python3 cod...

python爬蟲爬取鏈家二手房資訊

coding utf 8 import requests from fake useragent import useragent from bs4 import beautifulsoup import json import csv import time 構建請求頭 useragent use...