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...