网站织梦模板,宁德市安全教育平台,网站建设经营范围怎么写,保定专门做网站贝壳找房标题爬取需要注意的是#xff0c;在页面中间有一个小广告
而他就在ul的li下面#xff0c;当我们进行title所以输出时#xff0c;会报错。
所以在进行页面解析之前必须把广告叉掉#xff0c;不然也把广告那一部分的li给爬取下来了 所以#xff0c;我们#xff0…
贝壳找房标题爬取需要注意的是在页面中间有一个小广告
而他就在ul的li下面当我们进行title所以输出时会报错。
所以在进行页面解析之前必须把广告叉掉不然也把广告那一部分的li给爬取下来了 所以我们定位到上面箭头那里进行 x掉也就是利用click事件进行处理
然后第二个就是当进行下一页时url会更换
所以当我们要第23456……页时必须刷新新的url
如果换页时url没变的情况下则只需元素定位到下一页的按钮进行click事件处理即可。
要注意的就是以上那么多代码如下 from selenium import webdriver
from lxml import etree
from selenium.webdriver.common.by import By
from time import sleep
from selenium.webdriver import ChromeOptions
choChromeOptions()
cho.add_experimental_option(excludeSwitches,[enable-automation])
#浏览器驱动
browebdriver.Chrome(optionscho)
sleep(1)
all_page[]
for i in range(5):bro.get(fhttps://bj.ke.com/ershoufang/pg{i1}/)# 睡个两秒防止页面没有加载完成sleep(2)#把广告去掉因为广告是ul下的一个li。bro.find_element(By.CLASS_NAME,daoliu_close).click()#点击后进行解析并且放进列表里面all_page.append(bro.page_source)print(f已经把第{i1}页HTML内容放入列表中)print(--------------------------------------------------------------------------------------------------------------)s1
#页面列表循环遍历进行解析。
for page in all_page:treeetree.HTML(page)#睡个两秒防止页面没有加载完成sleep(2)li_listtree.xpath(/html/body/div[1]/div[4]/div[1]/div[4]/ul/li)#再睡个两秒防止页面没有加载完成sleep(2)print(f正在爬取第{s}页内容****************************************************)sleep(1)#打印测试有没有空元素print(len(li_list))for dl in li_list:titledl.xpath(./a/title)[0]#title只有一个所以【0】就行print(title)print(f第{s}爬取完成*********************************************************)ss1sleep(1)
sleep(2)
bro.quit()