哈哈衬 发表于 2020-3-16 09:54

爬虫爬取蓝光网视频磁力链接

# 利用python爬取蓝光网首页的视频的磁力链接
- 利用`requests`库和`pyquery`库爬取和解析数据,然后存储到`mongodb`中


1.获取首页源代码并且解析每一个电影的详细页面链接

```python
headers = {
    "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"
}
      
def get_index_page():
    response = requests.get("http://www.languang.co/", headers = headers)

    doc = pq(response.text)

    divs = doc(".mi_cont>.mi_btcon")


    for div in divs.items():
      for li in div("li").items():
            yield li("a").attr("href")
```

2. 获取详情页面的源代码并且进行解析,然后把解析到的电影名字和磁力链接保存到mongodb中

```python
def get_detail_info(detail_link):
    response = requests.get(detail_link, headers = headers)
   
    doc = pq(response.text)
   
    name = doc(".moviedteail_tt>h1").html()
    bt_link = []
   
    lis = doc(".mikd>.mi_down_dy>.mi_ne_kd li")
   
    for li in lis.items():
         bt_link.append(li("a").attr("href"))
      
      
      
    col.insert_one({
      "name" : name,
      "links": bt_link
    })
    print(name, "插入成功!")
```

## 全部源代码

```python
import requests
from pyquery import PyQuery as pq
import pymongo

mongocli = pymongo.MongoClient("localhost")
col = mongocli["languang"]["movies"]

headers = {
    "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36"
}
      
def get_index_page():
    response = requests.get("http://www.languang.co/", headers = headers)

    doc = pq(response.text)

    divs = doc(".mi_cont>.mi_btcon")


    for div in divs.items():
      for li in div("li").items():
            yield li("a").attr("href")
            
def get_detail_info(detail_link):
    response = requests.get(detail_link, headers = headers)
   
    doc = pq(response.text)
   
    name = doc(".moviedteail_tt>h1").html()
    bt_link = []
   
    lis = doc(".mikd>.mi_down_dy>.mi_ne_kd li")
   
    for li in lis.items():
         bt_link.append(li("a").attr("href"))
      
      
      
    col.insert_one({
      "name" : name,
      "links": bt_link
    })
    print(name, "插入成功!")
   
   
   
            
def main():
    detail_page = get_index_page()
   
    for detail_link in detail_page:
      get_detail_info(detail_link)

if __name__ == "__main__":
    main()
   
```
希望大家多多指教!!!

jayce_jackson 发表于 2020-3-18 18:56

哈哈衬 发表于 2020-3-18 18:21
这个不需要ajax也可以实现啊!直接获取每一个类别的链接然后进入链接再爬取就行了!

它关键也不自动翻页啊?就爬完第一页就没了,具体类目也是我改了标签才爬的{:1_906:}

哈哈衬 发表于 2020-3-18 18:21

jayce_jackson 发表于 2020-3-18 17:41
可不可以在具体类目下实现自动翻页爬取呢?不会ajex,方了

这个不需要ajax也可以实现啊!直接获取每一个类别的链接然后进入链接再爬取就行了!

罗罗诺亚na 发表于 2020-3-16 09:59

看着挺厉害{:301_993:}

sharokku4869 发表于 2020-3-16 10:01

感谢大佬分享这个爬虫,小弟学习一下。

KevinStark 发表于 2020-3-16 10:13

最近在学习爬虫,可以研究研究

prospect2005 发表于 2020-3-16 10:15

有成品吗?谢谢分享

吾爱破解2020 发表于 2020-3-16 10:16


最近在学习爬虫,可以研究研究。

plattl 发表于 2020-3-16 10:18

感谢分享,学习学习,

xiaosaohuo11 发表于 2020-3-16 10:18


感谢分享,学习学习,

哈哈衬 发表于 2020-3-16 10:31

prospect2005 发表于 2020-3-16 10:15
有成品吗?谢谢分享

最后那一段代码就是完整的代码!

vagrantear 发表于 2020-3-16 10:34

学习一波,看到爬虫都会不自觉的点进来hh
页: [1] 2 3
查看完整版本: 爬虫爬取蓝光网视频磁力链接