使用selenium爬虫豆瓣电影信息

目前问题: 1.爬虫爬到十七条数据后,就不进行了,处于等待状态,咱不知道问题所在 2.采用selenium爬虫,由于涉及到页面加载,十分缓慢,个人倾向于ajax技术。

#from bs4 import BeautifulSoup
import re, csv, urllib.request, urllib.parse, time, json, pickle,random
from selenium import webdriver
from selenium.webdriver.common.keys import  Keys
class managerurl(object):
    def __init__(self):
        self.oldurls=set()
        self.newurls=set()
    def add_newurls(self,urls):
        if urls:
            for i in urls:
                self.add_newurl(i)
    def add_newurl(self,url):
        if url not in self.newurls and url not in self.oldurls:
            self.newurls.add(url)
    def has_newurls(self):
        url=self.newurls.pop()
        self.oldurls.add(url)
        return url

class data_get(object):
    def __init__(self):
        self.manaurl=managerurl()
    def data_gain(self,url):
        data = []
        num=0

        self.manaurl.add_newurl(url)
        while 1:
            if len(self.manaurl.newurls):
                driver = webdriver.Firefox()
                url1=self.manaurl.has_newurls()
                driver.get(url1)
                print(num)
                #time.sleep(random.randrange(5,10))
                moviescore = driver.find_element_by_xpath("//strong[@class=‘ll rating_num‘]")  # 获得电影的评分数据
                othermovies = driver.find_elements_by_xpath("/html/body/div[3]/div[1]/div[2]/div[1]/div[7]/div/dl/dd/a")  # 获取同类电影的数据
                moviename=driver.find_element_by_xpath(‘/html/body/div[3]/div[1]/h1‘)
                print(moviename.text)
                for i in othermovies:
                    self.manaurl.add_newurl(i.get_attribute(‘href‘))
                data.append({‘moviename‘: moviename.text, ‘score‘: moviescore.text})
                num+=1
                driver.close()
            if num>100:
                print(data)
                break

if __name__=="__main__":
    b=data_get()
    url=‘https://movie.douban.com/subject/27663742/‘
    b.data_gain(url)

原文地址:https://www.cnblogs.com/xuehaiwuya0000/p/10674794.html

时间: 2024-10-01 11:21:17

使用selenium爬虫豆瓣电影信息的相关文章

Python爬虫入门 | 爬取豆瓣电影信息

这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬虫的大门啦~好啦,正式开始我们的第二节课<爬取豆瓣电影信息>吧!啦啦哩啦啦,都看黑板~1. 爬虫原理1.1 爬虫基本原理听了那么多的爬虫,到底什么是爬虫?爬虫又是如何工作的呢?我们先从"爬虫原理"说起.爬虫又称为网页蜘蛛,是一种程序或脚本.但重点在于:它能够按照一定的规则,自动

【Python】从0开始写爬虫——豆瓣电影

1. 最近略忙..java在搞soap,之前是用工具自动生成代码的.最近可能会写一个soap的java调用 2. 这个豆瓣电影的爬虫.扒信息的部分暂时先做到这了.扒到的信息如下 from scrapy import app import re header = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safar

Python爬虫-豆瓣电影 Top 250

爬取的网页地址为:https://movie.douban.com/top250 打开网页后,可观察到:TOP250的电影被分成了10个页面来展示,每个页面有25个电影. 那么要爬取所有电影的信息,就需要知道另外9个页面的URL链接. 第一页:https://movie.douban.com/top250 第二页:https://movie.douban.com/top250?start=25&filter= 第三页:https://movie.douban.com/top250?start=5

团队-张文然-需求分析-python爬虫分类爬取豆瓣电影信息

首先要明白爬网页实际上就是:找到包含我们需要的信息的网址(URL)列表通过 HTTP 协议把页面下载回来从页面的 HTML 中解析出需要的信息找到更多这个的 URL,回到 2 继续其次还要明白:一个好的列表应该:包含足够多的电影的 URL通过翻页,可以遍历到所有的电影一个按照更新时间排序的列表,可以更快抓到最新更新的电影最后模拟过程知道豆瓣网站不能一次性爬取所有信息,只能分类爬取使用工具pyspider分析完成实现代码,测试模拟运行,按照时间列表爬取每类最新电影资讯 代码分解,便于加入团队后组员

python豆瓣电影爬虫

python豆瓣电影爬虫 可以爬取豆瓣电影信息,能够将电影信息存进mysql数据库,还能够下载电影预告片.2.3. 4功能使用到selenium库 一个例程运行截图 下载好的电影预告片 MySQL存储的数据 数据表构造 这是程序流程图,详细写明了本爬虫的运行流程 爬虫程序代码 # Author:YFAN import random import requests import lxml.etree from time import sleep import re import pymysql f

1-1 用Python抓取豆瓣及IMDB上的电影信息

下面的代码可以抓取豆瓣及IMDB上的电影信息,由于每段代码使用的数据源自上一段代码输出的数据,所以需要按顺序执行. step1_getDoubanMovies.py 1 # -*- coding: utf-8 -*- 2 ''' 3 该脚本得到豆瓣上所有电影的如下信息: 4 "rate": "7.5", 5 "cover_x": 2000, 6 "is_beetle_subject": false, 7 "title

[python爬虫] BeautifulSoup和Selenium对比爬取豆瓣Top250电影信息

这篇文章主要对比BeautifulSoup和Selenium爬取豆瓣Top250电影信息,两种方法从本质上都是一样的,都是通过分析网页的DOM树结构进行元素定位,再定向爬取具体的电影信息,通过代码的对比,你可以进一步加深Python爬虫的印象.同时,文章给出了我以前关于爬虫的基础知识介绍,方便新手进行学习.        总之,希望文章对你有所帮助,如果存在不错或者错误的地方,还请海涵~ 一. DOM树结构分析 豆瓣Top250电影网址:https://movie.douban.com/top2

Scrapy项目 - 数据简析 - 实现豆瓣 Top250 电影信息爬取的爬虫设计

一.数据分析截图(weka数据分析截图 ) 本例实验,使用Weka 3.7对豆瓣电影网页上所罗列的上映电影信息,如:标题.主要信息(年份.国家.类型)和评分等的信息进行数据分析,Weka 3.7数据分析如下所示: 图1-1  数据分析主界面 图1-2  OneR数据分析界面 图1-3  ZeroR数据分析界面 图1-4 Visualize数据分析界面 二.数据分析结论:(将数据之间的关系用文字性描述) 如图2-1所示,显而易见,电影类型的趋势增量随着标题的繁杂而日益增长,仅对于整个国家层次来说,

利用selenium爬取豆瓣电影Top250

这几天在学习selenium,顺便用selenium + python写了一个比较简陋的爬虫,现附上源码,有时间再补充补充: 1 from selenium import webdriver 2 from selenium.webdriver.support.wait import WebDriverWait 3 from selenium.webdriver.support import expected_conditions as EC 4 from selenium.webdriver.c