저는 지금이 벽에 대해 몇 일간 머리를 부러 뜨렸으므로 SO 커뮤니티에 물어볼 것이라고 생각했습니다. 나는 파이썬 스크립트를 원한다. 다른 것들 중에서도 파일을 다운로드하기 위해 웹 사이트의 양식에있는 '승인'버튼을 누를 수 있어야한다. 이를 위해 양식에 대한 액세스 권한이 필요합니다.Python - 특정 div에 액세스 할 수 없습니다. [Urllib, BeautifulSoup, 아마도 Mechanize?]
This is an example of the kind of file I want to download. 나는 그 안에 용어를 수락하고 파일을 다운로드 할 수있는 이름없는 양식이 있다는 것을 알고 있습니다. 또한 양식이 발견 될 수있는 div가 주 콘텐츠 div라는 것을 알고 있습니다.
그러나 BeautifulSoup이 웹 페이지를 구문 분석 할 때마다 주 콘텐츠 div를 가져올 수 없습니다. 가장 가까운 것은 main_content 링크 바로 앞에 있는데, BeautifulSoup의 객체를 통해 어떤 정보도 제공하지 않습니다.
여기 내 스크립트 코드의 약간의 :
web_soup = soup(urllib2.urlopen(url))
parsed = list(urlparse(url))
ext = extr[1:]
for downloadable in web_soup.findAll("a"):
encode = unicodedata.normalize('NFKD',downloadable.text).encode('UTF-8','ignore')
if ext in str.lower(encode):
if downloadable['href'] in url:
return ("http://%s%s" % (parsed[1],downloadable['href']))
for div in web_soup.findAll("div"):
if div.has_key('class'):
print(div['class'])
if div['class'] == "main-content":
print("Yep")
return False
URL 내가 (내가 이전에 게시 때문에 URL)에서 찾고 URL의 이름입니다. extr은 .extension 형식으로 다운로드하려고하는 파일 형식이지만 내 질문에는 관련이 없습니다. 관련된 코드는 두 번째 for 루프입니다. 하나는 div를 반복하려고 시도하는 루프입니다. 첫 번째 코드 비트 (첫 번째 루프)는 다른 경우 다운로드 링크를 가져 오는 코드입니다 (스크립트가 제공된 URL은 콘텐츠 형식이있는 .zip과 같은 파일 확장명으로 표시된 '다운로드 링크'입니다) text/html)을 무시하십시오. 나는 단지 상황에 맞게 추가했다.
내가 충분히 확신하지는 않지만 충분한 세부 정보를 제공했으면 좋겠다. 내가하고있는 일에 대해 더 자세한 정보가 필요하면 알려주세요. 나는 기꺼이 행복해 할 것입니다. 고마워, 스택.
이것은 실행 가능해야합니다! 고맙습니다. 처음이 솔루션을 시도했을 때, None을 반환하고 내 머리를 조금 긁어 보았습니다. 나는 그 문제를 당신에게 줄였습니다. 그러나 제 스크립트의 다른 부분에서, URL을 얻을 때 필요한 정확한 URL을 전달하지 않을 것입니다. 내 문제와 제가 가지고있는 것을 모르는 문제 모두를 도와 주셔서 감사합니다! 감사합니다. – Magoo111