Rumah >pembangunan bahagian belakang >Tutorial Python >Gunakan perangkak web Python untuk melihat filem yang sedang ditayangkan di pawagam
/1 Kata Pengantar/
/2 Matlamat Projek/
Dapatkan butiran filem Maoyan yang akan datang.
/3 Penyediaan projek/
Perisian: PyCharm pencarian semula、
lxml、random、 masa Pemalam: Apabila anda mengklik halaman seterusnya, offset=() meningkat sebanyak 30 untuk setiap halaman tambahan, jadi anda boleh menggunakan {}, untuk menggantikan pembolehubah diubah dan kemudian gunakan gelung for untuk melintasi URL untuk melaksanakan berbilang permintaan URL.
1. Tentukan kelas kelas untuk mewarisi objek, tentukan kaedah init untuk mewarisi diri, dan fungsi utama utama untuk mewarisi diri. Import perpustakaan dan URL yang diperlukan, kodnya adalah seperti berikut. 1)基准xpath节点对象列表。 /5 Paparan kesan/ 1 Klik segitiga hijau untuk menjalankan input halaman permulaan dan halaman akhir. 2. Selepas menjalankan program, hasilnya dipaparkan pada konsol, seperti yang ditunjukkan dalam rajah di bawah. 3. Klik pautan muat turun biru untuk melihat butiran dalam talian. . https://maoyan.com/films?showType=2&offset={}
import requests
from lxml import etree
import time
import random
class MaoyanSpider(object):
def __init__(self):
self.url = "https://maoyan.com/films?showType=2&offset={}"
def main(self):
pass
if __name__ == '__main__':
spider = MaoyanSpider()
spider.main()
2、随机产生UserAgent。
for i in range(1, 50):
# ua.random,一定要写在这里,每次请求都会随机选择。
self.headers = {
'User-Agent': ua.random,
}
3、发送请求,获取页面响应。
def get_page(self, url):
# random.choice一定要写在这里,每次请求都会随机选择
res = requests.get(url, headers=self.headers)
res.encoding = 'utf-8'
html = res.text
self.parse_page(html)
4、xpath解析一级页面数据,获取页面信息。
# 创建解析对象
parse_html = etree.HTML(html)
# 基准xpath节点对象列表
dd_list = parse_html.xpath('//dl[@class="movie-list"]//dd')
2)依次遍历每个节点对象,提取数据。
for dd in dd_list:
name = dd.xpath('.//div[@class="movie-hover-title"]//span[@class="name noscore"]/text()')[0].strip()
star = dd.xpath('.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][3]/text()')[1].strip()
type = dd.xpath('.//div[@class="movie-hover-info"]//div[@class="movie-hover-title"][2]/text()')[1].strip()
dowld=dd.xpath('.//div[@class="movie-item-hover"]/a/@href')[0].strip()
# print(movie_dict)
movie = '''【即将上映】
5、定义movie,保存打印数据。
movie = '''【即将上映】
电影名字: %s
主演:%s
类型:%s
详情链接:https://maoyan.com%s
=========================================================
''' % (name, star, type,dowld)
print( movie)
6、random.randint()方法,设置时间延时。
time.sleep(random.randint(1, 3))
7、调用方法,实现功能。
html = self.get_page(url)
self.parse_page(html)
2. Artikel ini berdasarkan perangkak web Python dan menggunakan perpustakaan perangkak untuk merangkak filem Maoyan.
Atas ialah kandungan terperinci Gunakan perangkak web Python untuk melihat filem yang sedang ditayangkan di pawagam. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!