爬虫一:爬取基本静态界面的标签内容_

chrome中CSS Selector与XPath均为描述一个标签的路径

CSS Selector的描述方式为:

body->div.main-content >ul > li:nth-child(1)->img的方式

而XPath为:

html/body/div[2]/ul/li[1]/img

其中汤勺只认Selector方式的路径

#coding=utf-8
import json
from _md5 import md5
from multiprocessing.pool import Pool
import re
import os
import requests
from urllib.parse import urlencode
from bs4 import BeautifulSoup
#创建浏览器的头去模拟浏览器获取信息
HEADERS = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36'
}

url = 'http://maoyan.com/board'
res = requests.get(url,headers=HEADERS)
res.encoding = 'utf-8'
text = res.text
Soup = BeautifulSoup(text,'lxml')
images = Soup.select('#app > div > div > div > dl > dd > a > img.board-img')
roles = Soup.select('#app > div > div > div > dl > dd > div > div > div.movie-item-info > p.star')
titles = Soup.select('#app > div > div > div > dl > dd > div > div > div.movie-item-info > p.name > a')
begin_times = Soup.select('#app > div > div > div > dl > dd > div > div > div.movie-item-info > p.releasetime')
#print(images)
#dd:nth-child(1)改为dd:nth-of-type(1)
#选择到了自己想要的第一个位置
#在dd后面删除:nth-of-type(1),以便把所有信息均筛选出来
#汤勺可以筛选出想要的标签内容
#zip的用法是将多个函数的迭代器,合成一个迭代器

for title,image,role,begin_time in zip(titles,images,roles,begin_times):
    data = {
        'title' : title.get_text(),
        'image': image.get('data-src'),
        #image.get('data-src')为得到data-src标签中的内容
        'role': role.get_text(),
        #a.stripped_strings,是get_text的高级版,相当于把所有子文本框内容存到一个数组当中
        'begin_time': begin_time.get_text()
    }
    print(data)
    #title.get_text()为筛选出标签中的所有文本信息


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值