1. selenium打开网页
导入所需包
from selenium.webdriver import Chrome
import time
import re
from bs4 import BeautifulSoup
from lxml import etree
1.1 创建浏览器对象
b = Chrome()
1.2 打开网页
打开网页(需要爬取网页数据的网页)。
b.get('https://movie.douban.com/top250')
# 等待
time.sleep(1)
1.3 获取网页源代码
result = b.page_source
print(result)
# 关闭网页
b.close()
1.4 解析数据获取所有的电影名字
1.4.1 正则
r1 = re.findall(r'alt="(.+?)"', result)[:-1]
print(r1)
1.4.2 CSS选择器
soup = BeautifulSoup(result, 'lxml')
imgs = soup.select('ol.grid_view a >img')
titles = [img.attrs['alt'] for img in imgs]
print(titles)
1.4.3 xpath
html = etree.HTML(result)
titles = html.xpath('//div[@class="hd"]/a/span[1]/text()')
print(titles)
2. 贝壳租房练习
from selenium.webdriver import Chrome
import time
from bs4 import BeautifulSoup
from re import sub
import csv
# 1. 获取网页数据
# 创建浏览器对象
b = Chrome()
# 打开网页
b.get('https://cd.zu.ke.com/zufang')
# 等待
time.sleep(1)
# 获取网页源代码
result = b.page_source
# print(result)
# 关闭网页
b.close()
# 2. 解析数据获取内容
# CSS选择器
soup = BeautifulSoup(result, 'lxml')
# 获取所有房屋信息对应的所有的div
all_house_div = soup.select('div.content__list>div')
# 遍历拿到每个房屋信息对应的div
all_data = <