>  기사  >  백엔드 개발  >  Python은 Douban 영화 데이터를 크롤링하고 xpath 및 lxml 모듈(코드) 값을 추출합니다.

Python은 Douban 영화 데이터를 크롤링하고 xpath 및 lxml 모듈(코드) 값을 추출합니다.

不言
不言앞으로
2018-09-28 14:45:343815검색

이 기사의 내용은 Python이 Douban 영화 데이터를 크롤링하고 값 xpath 및 lxml 모듈(코드)을 추출하는 내용입니다. 필요한 참조 값이 있으면 도움이 될 것입니다.

도구: Python 3.6.5, PyCharm 개발 도구, Windows 10 운영 체제, Google Chrome

목적: Douban 영화 순위에서 영화의 제목, 링크 주소, 사진, 리뷰어 수, 평가 등을 크롤링합니다.

웹사이트: https://movie.douban.com/chart

문법 포인트:

xpath 구문:

Google Chrome용 xpath 도우미 플러그인 설치: 요소에서 데이터를 찾는 데 도움을 주세요

1. nodes (labels)

   (1), /html/head/meta: html

   (2) 아래의 모든 메타 태그를 선택할 수 있음, //li: 현재 페이지의 모든 li 태그

(3 ), /html/head//link: head 아래의 모든 링크 태그

2, //: 모든 노드에서 선택 가능

   (1), //li: 현재 페이지의 모든 li 태그

                                                          back Up in worth-html p[@class='feed']/ul/li, class='feed'

   (2) p 아래 ul 아래에서 li를 선택하세요. a/@href: 값의 href 선택

4. 텍스트 가져오기

                                                

아래의 모든 텍스트 예 :

lxml 구문:

1. 설치: pip install lxml 2

From lxml import etree 코드:

from lxml import etree
import requests

url = "https://movie.douban.com/chart"

headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36"
}
response = requests.get(url,headers=headers)
html_str = response.content.decode()

#print(html_str)

html = etree.HTML(html_str)
print(html)

#1.获取所有的电影的URL地址
#url_list = html.xpath("//div[@class='indent']/div/table//div[@class='pl2']/a/@href")
#print(url_list)

#2.所有图片的地址
#img_list = html.xpath("//div[@class='indent']/div/table//a[@class='nbg']/img/@src")
#print(img_list)
ret1 = html.xpath("//div[@class='indent']/div/table")
print(ret1)
for table in ret1:
    item = {}
    item["title"] = table.xpath(".//div[@class='pl2']/a/text()")[0].replace("/","").strip()
    item["href"] = table.xpath(".//div[@class='pl2']/a/@href")[0]
    item["img"] = table.xpath(".//a[@class='nbg']/img/@src")[0]
    item["comment_num"] = table.xpath(".//span[@class='pl']/text()")[0]
    item["rating_num"] = table.xpath(".//span[@class='rating_nums']/text()")[0]
    print(item)

작동 효과:

위 내용은 Python은 Douban 영화 데이터를 크롤링하고 xpath 및 lxml 모듈(코드) 값을 추출합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제