Home  >  Article  >  Backend Development  >  How to crawl Baidu Cloud connection method in python

How to crawl Baidu Cloud connection method in python

巴扎黑
巴扎黑Original
2017-08-07 17:34:302291browse

This article mainly introduces the example code of python urllib crawling Baidu cloud connection, which has certain reference value. Interested friends can refer to it

Looking through the programs I wrote before, I found I wrote something that crawled Baidu Cloud resources from Panduoduo. I just wrote it myself because I wanted to watch Transformers. It was my first time to come into contact with python and it took me about 2 days to come up with this program. I learned the python language and can see it. The code written at that time was really low. Although it’s not that good now, haha, I’m still learning, so I won’t explain too much. The code is shown in the picture above, because I forgot what the variable declaration was (manual arrogance), and I didn’t even know how to write a file at the time, haha Hahahahahaha, I didn’t know that class can be initialized through init. Alas, I learned so many things when I learned python. Thank you python


##

from bs4 import BeautifulSoup
import urllib
import requests
import re

adr =[]

''''对搜素资源名字进行url编码'''
search_text =raw_input('请输入搜索资源名:')
search_text = search_text.decode('gbk')
search_text = search_text.encode('utf-8')
search_text = urllib.quote(search_text)


''''获取文件地址'''
home = urllib.urlopen('http://www.panduoduo.net/s/name/'+search_text)


'''获取百度云地址'''
def getbaidu(adr):
  for i in adr:
    url = urllib.urlopen('http://www.panduoduo.net'+i)
    bs = BeautifulSoup(url)
    bs1 = bs.select('.dbutton2')
    href = re.compile('http\%(\%|\d|\w|\/\/|\/|\.)*')
    b = href.search(str(bs1))
    name = str(bs.select('.center')).decode('utf-8')
    text1 = re.compile(&#39;\<h1\sclass\=\"center"\>[\d|\w|\D|\W]*\</h1\>&#39;)
    text2 = text1.search(name)
    rag1 = re.compile(&#39;\>[\d|\w|\D|\W]*\<&#39;)
    if text2:
      text3 = rag1.search(text2.group())
      if text3:
        print text3.group()
    if b:
      text = urllib.unquote(str(b.group())).decode(&#39;utf-8&#39;)
      print text

&#39;&#39;&#39;初始化&#39;&#39;&#39;
def init(adr):
  soup = BeautifulSoup(home)
  soup = soup.select(&#39;.row&#39;)
  pattern = re.compile(&#39;\/r\/\d+&#39;)
  for i in soup:
    i = str(i)
    adress = pattern.search(i)
    adress = adress.group()
    adr.append(adress)


print &#39;running---------&#39;    
init(adr)
getbaidu(adr)

The above is the detailed content of How to crawl Baidu Cloud connection method in python. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn