"""使用面向对象的方式,搭建项目框架"""
import requests
class LianJiaSpider:
# 初始化方法
def __int__(self):
# 初始化请求
self.url = 'https://bj.lianjia.com/chengjiao/pg{0}/'
# 用于将爬虫程序伪装成浏览器
self.headers = {
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Cache-Control': 'no-cache',
'Connection': 'keep-alive',
#'Cookie': 'select_city=110000; lianjia_uuid=ac5c20ae-9d05-4262-ae27-15dc34e9eeeb; crosSdkDT2019DeviceId=402xwx--chkhq4-nrhkvy30lr8gl6y-8etmk4eqp; _smt_uid=6593fc4d.45d49d47; _jzqc=1; _jzqckmp=1; _qzjc=1; sajssdk_2015_cross_new_user=1; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2218cca1191473e-0c8353e9321003-26001951-1049088-18cca119148d13%22%2C%22%24device_id%22%3A%2218cca1191473e-0c8353e9321003-26001951-1049088-18cca119148d13%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22%22%2C%22%24latest_referrer_host%22%3A%22%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%7D%7D; _ga=GA1.2.1710180456.1704197200; _gid=GA1.2.727069856.1704197200; Hm_lvt_9152f8221cb6243a53c83b956842be8a=1704197224; lianjia_ssid=0cc43c96-e0d5-93ff-f908-f0facac4b35a; _jzqa=1.4387708076102743600.1704197198.1704197198.1704200152.2; _jzqx=1.1704200152.1704200152.1.jzqsr=bj%2Elianjia%2Ecom|jzqct=/ershoufang/pg2rs%e5%8c%97%e4%ba%ac/.-; login_ucid=2000000392130457; lianjia_token=2.001391bb71406bb904023c92406eb23510; lianjia_token_secure=2.001391bb71406bb904023c92406eb23510; security_ticket=Ki08vdsnkoKfgvg391Td6mqfwJypq0m7I8lottXg5vqZwCsuprTtDr+D7JuHKbGgO3Bl2Reb1phqA+v1a3KpUXM0ig7uDX16xuX2wLYbZliXq9k5/YoPfGiKYE5y2eM89dA2fmle2yy9qRjaTsmiexUd6UR71SybK2yKQ11HLLM=; ftkrc_=080a0576-d8b2-4853-8a62-c8bf48afc580; lfrc_=5a866a6c-c4c4-43d9-a2e0-9a276e6ef8eb; Hm_lpvt_9152f8221cb6243a53c83b956842be8a=1704200222; _qzja=1.858033891.1704197198131.1704197198131.1704200152267.1704200209828.1704200222307.0.0.0.8.2; _qzjb=1.1704200152267.3.0.0.0; _qzjto=8.2.0; _jzqb=1.3.10.1704200152.1; srcid=eyJ0Ijoie1wiZGF0YVwiOlwiM2RiNWM1ZDNjMWRhM2E4NDEwMjkyYjVkN2RhNDA5ZTM4Y2Q2OTg4ODE2NWRlODU0MGIxYTA0OTFmNTA1M2M5YTY0MGJlNjRjNjVhMGUzNGU0YWQ1ZmZiYTIwNmQ3ODNmNGI0ZmJlZDhmYThiZDk2ZTZjMDAyNDY3N2Y4YTM4ZDNlYWI0MjY5MDQ3MmRlMDQ1MDcwMzZjMDQzNzFkNmQ0NzljNmJhNTdkNjM3YjQzYjY3YzUxZWMyZWVmZGM5MGEzNjlhMTMzMDQ5YTJjMzdjMjc4ZmRkMmVlN2I5MDUxYWE2YTAwYzJlOGI3MzkyYzE0NjYxNmJhNDVlMTc0NDMzYlwiLFwia2V5X2lkXCI6XCIxXCIsXCJzaWduXCI6XCI3YzVjZGZlOVwifSIsInIiOiJodHRwczovL2JqLmxpYW5qaWEuY29tL2NoZW5namlhby9wZzIvIiwib3MiOiJ3ZWIiLCJ2IjoiMC4xIn0=; _gat=1; _gat_past=1; _gat_global=1; _gat_new_global=1; _gat_dianpu_agent=1; _ga_KJTRWRHDL1=GS1.2.1704200154.2.1.1704200223.0.0.0; _ga_QJN1VP0CMS=GS1.2.1704200154.2.1.1704200223.0.0.0',
'Pragma': 'no-cache',
'Sec-Fetch-Dest': 'document',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Site': 'none',
'Sec-Fetch-User': '?1',
'Upgrade-Insecure-Requests': '1',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'sec-ch-ua': '"Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
}
# response = requests.get('https://bj.lianjia.com/chengjiao/pg2/', cookies=cookies, headers=headers)
# 发送请求的方法
def send_requests(self,url):
resp = requests.get(url, headers=self.headers)
if resp.status_code == 200:
return resp
# 解析HTML获取有用数据
def parse_content(self):
pass
# 写入数据库
def write_mysql(self):
pass
def start(self):
for i in range(1,2):
full_url = self.url.format(i)
print(full_url)
#resp = self.send_requests(full_url)
#print(resp.text)
if __name__ == '__main__':
lianjia = LianJiaSpider()
lianjia.start()
###########报错#############
full_url = self.url.format(i)
AttributeError: 'LianJiaSpider' object has no attribute 'url'