快速爬虫2020.9.27

2022-09-21 11:15:16 浏览数 (1)

1、安装软件

2、需要修改的文件保存位置、网址、元素定位

3、运行

http://mpvideo.qpic.cn/0b78k4aaeaaaciaegnlqj5pvav6dajlqaaqa.f10002.mp4?

代码语言:javascript复制
#一、引入selenium
from selenium import webdriver
from time import sleep
#from selenium.webdriver.chrome.options import Options
#import xlrd
import csv
import os
#固定csv保存在桌面
os.chdir(r'C:UsersAdministratorDesktop')
 
#二、打开网页
# 使用webkit无界面浏览器
# 如果路径为 exe 启动程序的路径,那么该路径需要加一个 r
driver =webdriver.Firefox()
# 获取指定网页的数据  start_urls
driver.get('https://movie.douban.com/top250')
driver.implicitly_wait(20)

#三、翻页、获取内容、写入CSV
#遍历循环20次
for o in range (1,13):
    #遍历循环15次
    sleep(0.5)
    for i in range (1,26):
        #获取标题和时间
        #拼接字符串
        data1 = driver.find_element_by_css_selector('.grid_view > li:nth-child(' str(i) ') > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > a:nth-child(1) > span:nth-child(1)').text
        data2 = driver.find_element_by_css_selector('.grid_view > li:nth-child(' str(i) ') > div:nth-child(1) > div:nth-child(2) > div:nth-child(2) > p:nth-child(3) > span:nth-child(1)').text
        print(data1, data2)
        #写入csv
        with open('豆瓣.csv', 'a ', newline = 'n')as f:
            w = csv.writer(f)
            w.writerow([data1, data2])   
                   
    sleep(0.5)
    #并进行点击翻页
    driver.find_element_by_css_selector('.next > a:nth-child(2)').click()        
        
driver.quit()

1、安装软件

(1)Anaconda

官网下载也可以,就是网速有些慢,推荐到清华大学软件站下载

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

选择对应的电脑系统苹果或者微软、操作系统64或者32位,下载安装。

(2)安装火狐Firefox

(3)打开Anaconda Prompt ,输入pip install selenium

2、

(1)网址:https://movie.douban.com/top250

在driver.get('https://movie.douban.com/top250')中修改

(2)元素定位,火狐输入网址,按F12

点击箭头标志,点击翻页按钮,在3的位置右键,选择复杂CSS选择器

翻页定位:.next > a:nth-child(2)

在driver.find_element_by_css_selector('.next > a:nth-child(2)').click()中修改

一共有11页,修改for o in range (1,11):让他循环点击页面11次。

提取元素定位

1,电影名称,提取2个不同的电影名称,观察区别,拼接电影名称的CSS选择器字符串

.grid_view > li:nth-child(25) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > a:nth-child(1) > span:nth-child(1)

.grid_view > li:nth-child(24) > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > a:nth-child(1) > span:nth-child(1)

每页有25部电影,区别的地方用字符串拼接

修改for i in range (1,26):让他循环提取每页的25个电影。

'.grid_view > li:nth-child(' str(i) ') > div:nth-child(1) > div:nth-child(2) > div:nth-child(1) > a:nth-child(1) > span:nth-child(1)'2

修改 data1 = driver.find_element_by_css_selector所在位置。

2,同理

拼接电影点评的CSS选择器字符串。

(4)电脑桌面C:UsersAdministratorDesktop

在os.chdir(r'C:UsersAdministratorDesktop')中修改

3、运行。。

哗哗的就下来了

豆瓣电影TOP250文件在此:

链接:https://pan.baidu.com/s/1n8UizKMu-n2TpPdn4OeN-A

提取码:0000

复制这段内容后打开百度网盘手机App,操作更方便哦

0 人点赞