前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速爬虫2020.9.27

快速爬虫2020.9.27

作者头像
用户7138673
发布2022-09-21 11:15:16
2900
发布2022-09-21 11:15:16
举报
文章被收录于专栏:大大的小数据

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:\Users\Administrator\Desktop')
 
#二、打开网页
# 使用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:\Users\Administrator\Desktop

在os.chdir(r'C:\Users\Administrator\Desktop')中修改

3、运行。。

哗哗的就下来了

豆瓣电影TOP250文件在此:

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

提取码:0000

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大大的小数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档