您的位置:首页 > 编程语言 > Python开发

如何使用python网络爬虫从视频网站上爬取电影数据

2019-01-20 08:48 901 查看

.爬虫
 把网页上显示的信息下载到本地
 
 网页上显示的信息,是根据html文件的信息决定的
 浏览器对你输入的这个链接地址对应的服务器进行请求,
  如果请求成功,服务器会给浏览器一个响应,响应里面就包含html文件
 
 爬虫的目的就是拿到服务器响应里面包含的html文件内容
 
1.以什么方式可以拿到html内容
 1.起始链接
 2.代码发起请求,伪装成浏览器
 3.接收到这个响应
 4.拿到响应里面的html文件内容
 
2.python爬虫需要用到的基本工具
 1.requests
  第三方的包
  pip install requests
 
 2.selenium 自动化测试
  pip install selenium
  
 
 
3.拿到全部的html信息之后,怎么提取我们想要的部分
 1.re 正则表达式
 2.使用html文件的特性
  标签 最简单的,速度慢
 3.xpath 节点思想

 

4.使用标签拿到具体内容
 使用第三方的包 beautifulsoup4
 pip install beautifulsoup4
  这个包可以把str解析成html的标签
 1.使用html格式来解析这个指定的str
 doc = BeautifulSoup(response.text, 'html.parser')
 2.找出结果中的指定内容,需要用到CSS选择器
  doc = BeautifulSoup(response.text, 'html.parser')
  # print(doc)
  # 表示id为aaa的标签写法为:#aaa
  # 表示class为aaa的标签,写法为:.aaa

 

如下代码实现通过驱动googl浏览器的方式,从视频网站上爬取电影网页并获取想要的电影内容并写入本地文档

[code]from selenium import webdriver
from bs4 import BeautifulSoup

from time import sleep

for i in range(1, 4, 1):
base_url = "https://list.iqiyi.com/www/1/-------------11-" + str(i) + "-1-iqiyi--.html"

driver = webdriver.Chrome(executable_path='d:\\chromedriver.exe')
driver.get(base_url)

doc = BeautifulSoup(driver.page_source, 'html.parser')
# print(doc)
view_l = doc.select('.site-piclist > li')

# print(view_l)
with open('data4.txt', 'a', encoding='utf-8') as f:
for vl in view_l:
c1 = vl.select('.site-piclist_pic > a')[0].get('title')
c2 = vl.select('.role_info >em > a')
s = ''
for i in c2:
s += i.get('title') + ','
s = s.strip(',')
f.write(c1 + ':' + s + '\n')

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: