bboydandy 发表于 2018-11-19 22:28

新人一枚,学了几天PYTHON爬虫,爬了一下猫眼~

没有写文件处理的方法,还是感觉XPATH做爬虫最简单


import requests
from requests.exceptions import RequestException
from lxml import etree

def get_one_page(url):
    headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36'}
    response = requests.get(url , headers = headers)
    try:
      if response.status_code == 200:
            return response.text
      return None
    except RequestException:
      print('You can not do it~')
def parse_one_page(html):
    movie_list = etree.HTML(html).xpath('//dl[@class="board-wrapper"]/dd')
    for movie in movie_list:
      yield{
            'index' : movie.xpath('./i/text()'),
            'name' : movie.xpath('.//div[@class="movie-item-info"]//a/text()'),
            'star' : movie.xpath('.//div[@class="movie-item-info"]//p[@class="star"]/text()').replace('\n',''),
            'releasetime' : movie.xpath('.//div[@class="movie-item-info"]//p[@class="releasetime"]/text()'),
      }

def main(offset):
    url = 'http://maoyan.com/board/4?offset=' + str(offset)
    html = get_one_page(url)
    dy = parse_one_page(html)
    for i in dy:
      print(i)
if __name__ == '__main__':
    for i in range(10):
      offset = i * 10
      main(offset)

hugangtingQ 发表于 2018-11-21 11:15

你们新手怕不是都是有语言底子的,看了下次连新手都不能叫了

澧有兰 发表于 2019-3-11 16:07

hugangtingQ 发表于 2018-11-21 11:15
你们新手怕不是都是有语言底子的,看了下次连新手都不能叫了

肯定是python的新手啊,有底子学得快,当你学了C++,Java。再来看python就很容易了

bboydandy 发表于 2018-11-19 22:31

新手一枚,也请大神多指点~
感觉star这个主演字段还能处理一下,求大家好的建议~{:1_918:}

执念i_ 发表于 2018-11-19 22:53

加油,共同学习

zwg876 发表于 2018-11-20 04:13

共勉,同学中!!!

fangdongjiadema 发表于 2018-11-20 11:18

学习了,......................

flyCai 发表于 2018-11-20 14:03

学习.........

我不是小号 发表于 2018-11-20 14:18

ieqqwicf 发表于 2018-11-21 10:26

共同学习

寂灵天堂 发表于 2018-11-21 11:05

学习了~也是基于java的语言?
页: [1] 2 3 4 5 6
查看完整版本: 新人一枚,学了几天PYTHON爬虫,爬了一下猫眼~