2010-04-14 8 views
6

Mam site, który chcę pobrać przy użyciu Uniksa wget. Jeśli spojrzysz na kod źródłowy i zawartość pliku, zawiera on sekcję o nazwie SUMMARY. Jednak po wydaniu polecenia wget tak:Jak włączyć 'wget', aby pobrać całą zawartość HTML z Javascriptem

wget -O downdloadedtext.txt http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=mouse&c=gene&a=fiche&l=2610008E11Rik 

Zawartość downdloadedtext.txt jest niekompletna i inny z kodem źródłowym z tej witryny. Na przykład nie zawiera sekcji PODSUMOWANIE. Czy istnieje poprawny sposób na uzyskanie pełnej treści poprawnie?

Powód, dla którego pytam o to, ponieważ chcę zautomatyzować pobieranie z różnych wartości w tym kodzie HTML.

+0

Nie rozumiem. Jakie różnice występują w kodzie źródłowym? A co ma z tym wspólnego JavaScript? –

+0

@Pekka: Ciało zawierające javascript nie zostanie pobrane. Spróbuj i zobacz. – neversaint

+0

Nie mam wget teraz przydatny (na komputerze z systemem Windows). Czy rzeczywiste * ciało * jest inne lub czy pliki js nie są pobierane? –

Odpowiedz

11

Musisz umieścić link wewnątrz cytatów:

wget -O downdloadedtext.txt 'http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=mouse&c=gene&a=fiche&l=2610008E11Rik' 

To dlatego, że & ma specjalne znaczenie i będzie podzielony na kilka komendę poleceń.

3

Znak & ma specjalne znaczenie w powłokach. Zacytuj identyfikator URI, aby faktycznie zażądać identyfikatora URI, o który chcesz poprosić.

+0

@DD: Jak zacytować? Próbowałem "\ & l = 2610008E11Rik", ale wciąż nie udało się. – neversaint

+0

Wypróbuj '&' zamiast '&'. –

+0

@Pekka: Dzięki, ale nadal bez efektu. – neversaint

2

Możesz użyć flagi (--page-prerequisites), aby powiedzieć wget, aby pobrać połączone zasoby. Od man wget:

Ta opcja powoduje, że Wget pobiera wszystkie pliki niezbędne do poprawnego wyświetlenia danej strony HTML. Obejmuje to takie elementy, jak wstawione obrazy, dźwięki i odniesienia do arkuszy stylów.

Można również spojrzeć, opcją --follow-tags który pozwala ograniczyć ten proces:

Wget ma wewnętrzną tablicę par: znacznik HTML/atrybut, którą posługuje się przy poszukiwaniu powiązanych dokumentów podczas rekurencyjnej wyszukiwanie. Jeśli użytkownik chce, aby rozważano tylko podzbiór tych tagów, powinien on określić takie znaczniki na liście rozdzielanej przecinkami z tą opcją.

+0

@TJC: To nie wystarczy. Nie chcę otrzymywać treści połączonego źródła. Chcę tylko uzyskać pełną zawartość tej strony. – neversaint

+0

@neversaint Myślę, że masz na myśli "stronę", a nie "witrynę" –