python爬去电影天堂恐怖片+游戏

1、爬去方式python+selenium

2、工作流程

selenium自动输入,自动爬取,建立文件夹,存入磁力链接到记事本

3、贴上代码

#!/usr/bin/Python
# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from bs4 import BeautifulSoup
import os
import urllib2
import time
import random
import re
browser = webdriver.Chrome()
#browser.set_window_position(20, 40)
#browser.set_window_size(1100, 700)
browser.maximize_window() #最大化
#隐式等待
browser.implicitly_wait(10)
browser.get(‘http://www.dytt8.net/‘)
browser.find_element_by_xpath(‘//*[@id="header"]/div/div[3]/div[2]/div[2]/div[1]/div/div[1]/form/div[1]/p[1]/input‘).clear()
browser.find_element_by_xpath(‘//*[@id="header"]/div/div[3]/div[2]/div[2]/div[1]/div/div[1]/form/div[1]/p[1]/input‘).send_keys(u‘恐怖‘)

def close(browser):
# 获取当前窗口句柄(窗口A)
handle = browser.current_window_handle
# 获取当前所有窗口句柄(窗口A、B)
handles = browser.window_handles
# 对窗口进行遍历
for newhandle in handles:
# 筛选新打开的窗口B
if newhandle!=handle:
browser.switch_to_window(newhandle)
# 关闭当前窗口B
browser.close()
browser.switch_to_window(handles[0])

def change(browser):
# 获取当前窗口句柄(窗口A)
handle = browser.current_window_handle
# 获取当前所有窗口句柄(窗口A、B)
handles = browser.window_handles
# 对窗口进行遍历
for newhandle in handles:
# 筛选新打开的窗口B
if newhandle!=handle:
browser.switch_to_window(newhandle)

def back(browser):
# 获取当前窗口句柄(窗口A)
handle = browser.current_window_handle
# 获取当前所有窗口句柄(窗口A、B)
handles = browser.window_handles
# 对窗口进行遍历
for newhandle in handles:
# 筛选新打开的窗口B
if newhandle==handle:
browser.switch_to_window(newhandle)
# 关闭当前窗口B
browser.close()
browser.switch_to_window(handles[0])

def backN(browser):
# 获取当前窗口句柄(窗口A)
handle = browser.current_window_handle
# 获取当前所有窗口句柄(窗口A、B)
handles = browser.window_handles
# 对窗口进行遍历
for newhandle in handles:
# 筛选新打开的窗口B
if newhandle!=handle:
browser.switch_to_window(newhandle)
# 关闭当前窗口B
browser.close()
browser.switch_to_window(handles[1])

close(browser)
browser.find_element_by_xpath(‘//*[@id="header"]/div/div[3]/div[2]/div[2]/div[1]/div/div[1]/form/div[1]/p[1]/input‘).clear()
browser.find_element_by_xpath(‘//*[@id="header"]/div/div[3]/div[2]/div[2]/div[1]/div/div[1]/form/div[1]/p[1]/input‘).send_keys(u‘恐怖‘)
ele = browser.find_element_by_xpath(‘//*[@id="header"]/div/div[3]/div[2]/div[2]/div[1]/div/div[1]/form/div[2]/input‘)
##直接点击不了
#模拟点击事件
ele.send_keys(Keys.ENTER)
##成功跳转到页面
obj = BeautifulSoup(browser.page_source, ‘html.parser‘)

def fun(obj, num):
list = []
list = obj.find(‘div‘,{‘class‘:‘co_content8‘}).find_all(‘table‘)
for i, v in enumerate(list):
if i<=9:
href = v.find(‘a‘).get(‘href‘)
title = v.find(‘a‘).text
##去掉特殊的符号
title = re.sub(‘[\/:*?"<>|]‘,‘-‘,title)
disk_url = ‘E:/test/dytt/bt/‘+title+‘‘
#开始创建文件夹
if os.path.exists(‘E:/test/dytt/bt/‘+title+‘‘):
print ‘This folder already exists!‘
else:
os.mkdir(r‘E:/test/dytt/bt/‘+title+‘‘)
print title
#url = ‘http://www.ygdy8.com‘+href+‘‘
###打开一个新窗口
js = " window.open(‘http://www.ygdy8.com"+href+"‘)"
browser.execute_script(js)
##跳转到新页面
#browser.get(url)
#切换到b窗口
change(browser)
#右键点击那个链接
try:
qqq =browser.find_element_by_xpath(‘//*[@id="Zoom"]/span/table/tbody/tr/td/a‘)
ActionChains(browser).context_click(qqq).perform()
hrefs = browser.find_element_by_xpath(‘//*[@id="Zoom"]/span/table/tbody/tr/td/a‘).get_attribute(‘href‘)
print hrefs
file = open(‘E:\\test\\dytt\\bt\\‘+title+‘\\bt.txt‘, ‘w‘)
file.write(hrefs)
file.close()
except:
print ‘WE can try another way!‘
try:
qqq =browser.find_element_by_xpath(‘//*[@id="Zoom"]/span/div[5]/table/tbody/tr/td/a‘)
ActionChains(browser).context_click(qqq).perform()
hrefs = browser.find_element_by_xpath(‘//*[@id="Zoom"]/span/div[5]/table/tbody/tr/td/a‘).get_attribute(‘href‘)
print hrefs
file = open(‘E:\\test\\dytt\\bt\\‘+title+‘\\bt.txt‘, ‘w‘)
file.write(hrefs)
file.close()
except:
print ‘This is a game!‘
back(browser)
#循环完之后
if num==0:
browser.find_element_by_xpath(‘//*[@id="header"]/div/div[3]/div[3]/div[2]/div[2]/div[2]/ul/table[11]/tbody/tr/td[9]/a‘).click()
else:
browser.find_element_by_xpath(‘//*[@id="header"]/div/div[3]/div[3]/div[2]/div[2]/div[2]/ul/table[11]/tbody/tr/td[10]/a‘).click()
change(browser)
backN(browser)
obj = BeautifulSoup(browser.page_source, ‘html.parser‘)
fun(obj, 1)

def get_html(url):
‘‘‘获取html‘‘‘
##定义headers
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
headers={"User-Agent":user_agent}
request = urllib2.Request(url, headers=headers)
#request.encoding = ‘utf-8‘
try:
html = urllib2.urlopen(request).read()
except urllib2.URLError as e:
print url+‘Download error:‘, e.reason
html = None
return html

fun(obj, 0)

原文地址:https://www.cnblogs.com/shuangzikun/p/taotao_python_dytt.html

时间: 2024-07-30 08:40:41

python爬去电影天堂恐怖片+游戏的相关文章

Python爬取电影天堂指定电视剧或者电影

1.分析搜索请求 一位高人曾经说过,想爬取数据,要先分析网站 今天我们爬取电影天堂,有好看的美剧我在上面都能找到,算是很全了. 这个网站的广告出奇的多,用过都知道,点一下搜索就会弹出个窗口,伴随着滑稽的音乐,贪玩蓝月? 通过python,我们可以避免广告,直接拿到我们要的东西 我用的是火狐浏览器,按F12打开开发者工具,选择网络 按照正常的操作顺序,其实python就是在模拟人进行一些网页操作,我们只不过通过python解放自己的双手 在搜索框输入“傲骨贤妻”,当然你输入其他的电视剧名称也可以,

【PY】没有电影看?来教你用Python爬取电影天堂最新电影!

项目开始 第一步仍然是创建scrapy项目与spider文件 切换到工作目录两条命令依次输入 scrapy startproject xunleidianying scrapy genspider xunleiBT https://www.xl720.com/thunder/years/2019 内容分析 打开目标网站(分类是2019年上映的电影),分析我们需要的数据 进入页面是列表的形式就像豆瓣电影一样,然后我们点进去具体页面看看 这个页面就是我们需要拿到的内容页面,我们来看我们需要哪些数据(

Python抓取电影天堂, 零基础都可以学? 源码&amp;视频教程, 大赞!

我此次利用Python爬取电影天堂包含的源码非常清晰,所以说零基础的Python新手也能够轻松学会,真的一点都不过分. 先看我们的部分代码与爬取到的结果: 爬取到的电影资源:(可以获取视频教程) 步骤: 1. 首先导入需要的模块 2. 获取网页信息.解析结果 3.存储结果 3.编写主函数 4.运行源代码 工具: VS Code.Python3 Python最新爬取电影天堂源代码,跑代码即可爬取资源 源代码背后都有相关解释,各步骤我不进行相关讲解的原因. 原文地址:https://www.cnbl

爬取电影天堂最新电影的名称和下载链接

此次的目标是爬取电影天堂最新200页的最新电影的电影名称和下载链接,电影的下载链接在二级页面,所以需要先匹配一级页面的所有链接,然后逐个请求二级页面,代码如下: """ 爬取电影天堂2019年的电影名称和链接 """ import requests import csv from fake_useragent import UserAgent from lxml import etree import re import time import

BeautifulSoup爬取电影天堂全站电影资源

#爬取电影天堂全站电影资源链接#功能:#1.获取电影天堂资源下载链接并输出#2.所有链接保存为一个csv文件 import timeimport requestsfrom bs4 import BeautifulSoupimport csv def spider(url): global page, No, fobj try: page += 1 print("第{}页".format(page)) # time.sleep(1) #获取网页链接并读取 html = requests.

Python多线程爬虫爬取电影天堂资源

最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址,代码已经上传到GitHub上了,需要的同学可以自行下载.刚开始学习python希望可以获得宝贵的意见. 先来简单介绍一下,网络爬虫的基本实现原理吧.一个爬虫首先要给它一个起点,所以需要精心选取一些URL作为起点,然后我们的爬虫从这些起点出发,抓取并解析所抓取到的页面,将所需要的信息提取出来,同时获得的新的URL插入到队列中作为下一次爬取的起点.这样不断地循环,一直到获得你想得到的所有的信息爬虫的任务

requests+lxml+xpath爬取电影天堂

1.导入相应的包 import requests from lxml import etree 2.原始ur url="https://www.dytt8.net/html/gndy/dyzz/list_23_1.html" 我们要爬取的是最新电影,在该界面中,我们发现,具体的信息存储在每个名字的链接中,因此我们要获取所有电影的链接才能得到电影的信息.同时我们观察url,发现 list_23_1,最后的1是页面位于第几页.右键点击其中一个电影的名字-检查. 我们发现,其部分连接位于具有

python爬取电影记录并生成excel表格

#coding=utf-8 import urllib2 import re import xlwt import smtplib import random import time from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.application import MIMEApplication # 1.先获取整个页面信息 # Urllib

Python爬去百度音乐

编译器环境:Python3.6 代码: #!/usr/bin/env python #-*-coding=utf-8 -*- #AUTHOR:duwentao import  requests import re import json def get_sids_by_name(name):     url = 'http://music.baidu.com/search'     data = {         'key':name     }     reponse = requests.